ホームページ >php教程 >php手册 >PHP導入に関する興味深い技術記事

PHP導入に関する興味深い技術記事

WBOY
WBOYオリジナル
2016-06-21 08:56:19775ブラウズ

中級の PHPer 初心者として、私は退屈なときにさまざまな PHP フォーラムを閲覧するのが好きで、私が PHP を学習していたときにも、多くの PHP 初心者が同じ質問をしているのを見てきました。 PHP 初心者は寄り道を避けるため、この記事を書くことにしました。間違いがあれば、ご指摘ください。とてもシンプルで簡単に言語を習得したいのであれば、少なくとも 3 年はかかりますが、3 年経ってもまだ初心者のままなのはなぜでしょうか。 PHP を学ぶには、データベースとアーキテクチャを学ばなければなりません。オブジェクト指向を学び、フロントエンドを学び、プロトコルを学び、さらには芸術を学ぶことは、PHP が今最も疲れるタイプであるという事実に直接つながります。
最も疲れるのは何もありません。プログラマーは給料が最も低いと考えられていますが、Web に関するほぼすべての知識を習得する必要があります。
これは本当に不公平です。中国では Java や C# から切り替える企業が増えています。私が PHP に切り替えるまで待ってください。皆さんはきっと素晴らしいと思います。私を信じてください。言いたいことの話に戻ります。以下の質問には私が遭遇した内容が含まれています。つまり、私が言ったことは必ずしも正しいとは限りません。つまり、私はあなたの意見を受け入れるつもりです。 、私たちはただすべての PHPer を立ち上がらせたいだけです:-)

1. エンコーディングの問題

これはプログラムである限り、必ず遭遇します。また、Web に関して言えば、コーディングの問題は解決が非常に難しく、プログラムに不可解な問題が発生することがあり、コーディングの問題があるとは考えにくいことがあります。 これらの問題は常に私たちを悩ませます。そのため、PHP 初心者にはコーディングを統一することを強くお勧めします。中国語では GBK や GB2312 を使用することはお勧めしません。
エンコーディングを統一したい場合は、エンコーディングが現れる箇所に注意する必要があります。

1) ヘッダーエンコーディング
を追加することをお勧めします。 PHP 内の次の文 (特殊なヘッダーを除く)



コードをコピー

コードは次のとおりです: header("コンテンツタイプ: text/html;charset=utf-8");


これにより、いくつかの問題を回避できます。たとえば、一部の Web サイトでは、エンコードがブラウザのデフォルトのエンコードと一致しない場合、アラートが表示されてジャンプすることがわかります。
あなたは純粋な HTML です。わからない場合は、head タグの最初の行にメタ エンコード タグを忘れずに入れてください。最終的な効果は次のようになります。




コードをコピーします

コードは次のとおりです:



2) ファイルのエンコーディング
ファイルを保存する場合、エンコーディングは一貫している必要があります。
一般的なエディターにはこのファイルのエンコーディング情報があります。 UTF-8 ではないので、すぐに変更してください。
たとえば、Dreamweaver でテンプレート ファイルを開くと、右下隅に GB2312 (簡体字中国語) が表示されていることがわかります。現時点では何も変更しないでください。すぐに CTRL+J を押して、[エンコーディングを UTF-8 モードに変更して保存] を選択します。
ファイルのエンコーディングが PHP ファイルである必要はありません。また、JavaScript ファイルと CSS ファイルが両方とも UTF-8 でエンコードされていることを確認する必要があります。
もう 1 つ重要な点があります。BOM です。これは PHP ではあまり一般的ではないため、使用するエディターが UE の場合は、UTF-8 BOM フリー形式を選択する必要があります。
3) データベースのエンコーディング
これについては、インターネット上にたくさんの記事がありますので、説明しません。MySQL を使用している場合は、接続するたびに SET NAMES = 'utf8' を実行してください。
2. MVC の問題点
理論的には、プログラマは適切に動作するプログラムを書くことだけを考えるべきではありません。
そうは言っても、MVC に従ってプログラムを作成した後、コードはエレガントになりますか?
アーキテクチャの学習は、その利点を本当に理解するプロセスです。
この月を使って MVC を学習する必要があると思います。自分自身の目標
しかし、私たちは 1 か月では MVC を本当に理解できないかもしれません。しかし、少なくともそのモデルに従ってその基本を学ぶでしょう、言い換えれば、ひまわりの本を学んでいないかもしれませんが、私たちはできるはずです。
3. オブジェクト指向の問題
PHP のオブジェクト指向の問題については、私は常に頭を悩ませています。 Linus のように、それが良いことだとさえ思っていない人もいます。
これが良いかどうかを心配する必要はありません。少なくとも、オブジェクト指向の誕生から現在に至るまで、長年にわたる進化を経て、オブジェクト指向がさまざまなプロジェクトや言語にまで適用されてきたことを知っておく必要があります。私たちは、オブジェクト指向の存在にはそれ自体の理由があると信じる理由があります。 >実践こそが真実をテストするための唯一の基準です。長年にわたって、オブジェクト指向開発はますます良くなってきています。
いくつかのアーキテクチャでは、オブジェクト指向の知識も同様です。オブジェクト指向は学習するのが簡単ではありませんが、特定の言語になると、その意味も微妙に変化します。また、PHP のオブジェクト指向は非常に柔軟です。オブジェクト指向の特殊な状況を作成します。おそらく、これは Java でよく見られるオブジェクト指向とは異なります。
必要なメソッドをクラスに入れることが、必ずしもオブジェクト指向であることを意味するわけではありません。オブジェクト指向はコーディングにスピードと利便性をもたらします。
よく言われるように、焦る必要はありません。

4. アルゴリズムの問​​題
PHP のアルゴリズムのほとんどは配列に基づいて実装されているように思えます。また、PHP の配列の特性により、配列が非常に大きくなると効率が大幅に低下することもわかっています。
実際には、PHP は Web サイトを作成するためだけに特別に使用する必要はありません。 Web 上で、PHP が提供するフロントエンドの実際の状況では、アルゴリズムに関係する箇所はほとんどありません。
PHP アルゴリズムの面接の質問は、頭を使ってマニュアルを追加してください。問題ありません。
それでは、アルゴリズムも学ぶ必要があるのでしょうか?
さらに重要なのは、データ構造を学ぶ必要があると思います。このコースは内部スキルのようなものです。これは微妙な方法であなたのコーディングに影響します。
この時点で、私たちは以前の邪悪な剣のテクニックを学びました。

5. フレームワークの問題
PHP はさまざまな言語の中で最も多くのフレームワークを持っていますが、どのフレームワークを使用するかは議論の的となっています。
私の提案は、少なくとも 1 つのフレームワークを学習することです。これにより、PHP についての理解が深まります。フレームワークを学ぶときは、そのフレームワークの使い方やプロジェクトの実行方法を学ぶ必要があります。
現時点では、小規模なフレームワークを自分で開発することを選択できます。私たちは、他の人がどれだけ多くのプロジェクトを使用できるかを尋ねません。
私たちはここにいるだけです。

6. JavaScript の問題点
私がこれまで多くの言語を見てきた中で最も驚くべきことは、通常、Java ではすべてがオブジェクトであると主張していることです。実際、JavaScript はすべてオブジェクトだと思います。
JavaScript は簡単に学ぶことができますか? 実際、Web を使用する場合、JavaScript の一般的な操作は DOM 操作です。
JavaScript は学ぶのが難しいですか?学ぶのが難しい! 他の言語のオブジェクト指向の考え方に縛られていると、JavaScript のオブジェクト指向の性質を理解するのが難しくなります。
プロトタイプの引数の呼び出し、呼び出し先の呼び出し先の適用、クロージャなどの概念は、私たちを困惑させます。また、奇妙な JavaScript コード スタイルとそのデバッグが難しい機能により、私たちは以前、実装のコードを回避することになりました。 document.ready の奇妙さは賞賛に値します。
個人的には、いくつかの JavaScript フレームワークのソース コードを調べるのが最良の方法だと思います。ということで、通常のget属性のフォームを使うとパラメータが取得できなくなるので、今回はjQuery.formのformSerializeメソッドを考えて作成しました。

7. CSS の問題
CSS を JavaScript から分離したいと思います。
実際、CSS は基本的な CSS プロパティをいくつか知っているだけで、まったく問題ありません。
CSS の主な特徴は、自分で作成する必要があることです。
CSS のもう 1 つの特徴は、この属性では効果が得られない可能性があるため、これは最も愚かで効果的な方法です。
もちろん、これは CSS の初心者にとってのみ必要です。これらを理解したら、後はブラウザーとの互換性を持たせる必要があります。実際には、これは 1 つの属性を開くだけのテストです。
IE6 はそれを知っている、IE はそれを知っている* など、いくつかのハックを覚えておくこともできます。この方法で CSS を書くのは十分に標準的ではないと感じる場合は、たとえば、ie6 の場合は ie6.css
と呼ばれ、ページで次のコードを使用します。


コードをコピーします コードは次のとおりです:




もちろん、より高度なことはユーザーエクスペリエンスとデザインです。これについては理解できないので説明しません。

8. 専門家がさらに追加できることを願っています。

個人 コンピュータに Linux システムをインストールすることを強くお勧めします。面倒だと感じる場合は、wubi 方法を選択して Ubuntu をインストールすることができます。これは最も簡単で最も簡単です。 退屈な場合は、PHP ソース コードのコピーをダウンロードしてください。サーバーのバージョンが rhel または centos であることが多いため、apt-get を行わないように注意してください。
そして、apt-get が取得するものは最新バージョンではないことが多く、自分でカスタマイズすることはできません。
たとえば、環境が少し異なると、常にこのような不可解な問題が発生します。
現時点では、エラー メッセージとログを確認して、自分で解決してみてください。
コンパイルが完了したと考えないでください。ソース コードを変更して、再度コンパイルしてください。
たとえば、nginx ソース コードのコピーをダウンロードし、ヘッダーなどの一部を変更すると、独自の HTTP Web サーバーをコンパイルできます。
もちろん、BWS または GWS と呼ぶこともできます :-)
Linux ではコマンドを覚える必要がありますか? これは理解できます。
もう 1 つは、シェルです。しかし、私の意見では、構文はほとんど学習できません。 Wiki を参照してください。はい。主なことは連絡することです。一部の企業では、上級 PHP 担当者を採用する際にこれを必須条件として挙げています。
実際、Linux に関する情報がたくさんあります。あなたが遭遇する情報のほとんどは他の人も遭遇するものなので、Google を使いこなしてください。

9. 言語の問題

結局のところ、誰も相手を倒すことはできません。これらの退屈な事に参加する必要はありません。あなたがどんなに素晴らしい人であっても、そうでしょう。 Linus は何年も C++ について文句を言ってきました。C++ はどうですか?
あなたが PHP を選んだから、私たちは心配する必要はありません。
プロジェクトを実行する際には、PHP だけでは不十分かもしれません。その場合は、Java または C をミドルウェアとして使用できます。
言語を使用できるのは事実です。

10. 態度の問題

態度は謙虚で慎重でなければなりません。これはプログラマが持つべき美徳です。
学べば学ぶほど、自分に欠陥があることがわかります。あなたが素晴らしいことを待っています いくつかの傲慢なことを言うことができますが、少なくとも私が書いたこの記事を読んでいる人は、この記事が初心者向けであると言いました:-) 11. 女性の問題
うーん、これは自分で解決できます@_@



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。