しかし、私はこれを2、3年続けています。この要約は私の過去の要約になるはずです。
PHP は弱い型指定言語です。いわゆる型指定言語とは、型の区別がないことを意味するのではなく、PHP 変数を事前に定義する必要がなく、必要なのは $ 記号だけです。 $a/$b/$c など、必要です。 PHP 変数の基礎となる実装は C の Union を使用して実装されますが、PHP 変数は操作中に自動的に型変換を実行します。第 2 に、PHP 変数は「参照コピー」および「書き込み時のコピー」メカニズムを使用します。
どうやって学べばいいのかわからない、関数の実現は実現できそうな気がする、学ぶべきことは何もない、確かに後期のPHP自体に学ぶべきことは何もない、という状態もありえますが、現時点ではいくつかの設計パターンを学習し、いくつかのオープン ソース コードを調べ、MVC をカプセル化し、元の PHP 言語を使用していくつかのフレームワークでカプセル化を実装してみます。これを読んだ後、PHP のソースコードを見てみると、現時点ではまだ PHP のソースコードが理解できないことがわかりますが、最初はこのような感じです。 C 言語と C++ を再学習すると、C から C++ への移行が実際には多数の構造体 (struct)、define、typedef、および大規模なカプセル化プロセスであることがわかるでしょう。 PHP ソース コードでは 1、2、3 個のポインターが使用されています。PHP について学ぶべきことが何もないわけではなく、さらに深く掘り下げる必要があることがわかります。今後数日で、PHP のソース コードを見て、PHP 拡張機能を実装し、それを自分の環境に組み込んでみてください。
PHP の後半で学ぶべきことが何もないわけではありませんが、言語自体は比較的単純なので、アプリケーション レベルで学習するだけであれば、実際には何も学ぶ必要はありません。さて、ソースコードをざっと読むと、php が opcode に解析されて実行されることがわかります。apc の使い方、memcache、radius の概念がわかり、php についての理解が深まります。最適化に移りましょう。 W PHP は Web 開発言語であるため、Web に関わる場合は最適化が必要になります。どのように最適化できるのでしょうか? Web サイトのボトルネックは通常 2 か所に存在します。1 つはデータベースのボトルネック、もう 1 つはデータベースの側面 (テーブル構造の最適化、mysql エンジンの選択、インデックスの追加、垂直テーブル分割、水平テーブル) です。パーティショニング、マスター/スレーブ データベースの読み書き分類、クラスタリング。 PHPに関して言えば、ビューレイヤーでのcssやjsの最適化から始まり、cssやjsの圧縮や結合、画像の加工、アイコンの結合などを行うことができます。コントローラー層は SQL ステートメントを最適化して、関連するクエリとサブクエリの使用を削減し、SQL ステートメントを分割して実行し、データを結合できます。ページ静的処理を使用して頻繁に変更されない一部のページを処理し、memcache/apc/radius をデータベース キャッシュとして使用してデータベースの負荷を軽減し、opcode 関数を使用して PHP 解析を削減します (php5.5 以降、組み込みのオペコードにより apc が排除されます) 、apc 実装を使用することもできます)、Apache サービスの代わりに高速な nginx を選択する、サーバーをクラスター化するなどです。もちろん、一重引用符や二重引用符の使用など、PHP 自体の記述における最適化テクニックもあります。 要件の使用などについては再度説明しません。現時点では、学ぶべきことがまだたくさんあります。
弱い型付けの言語を学習しても改善が見られないと感じた場合は、再度強い型付けの言語を学習するとよいでしょう。たとえば、JSP を作成するために Java を学習すると、JSP にセッションが存在しないことがわかります。セッションをカプセル化するためにマップやハッシュマップなどの既存のデータ構造を使用することを選択できることは当然のことですが、フレームワークによって提供される関数には慣れているかもしれませんが、ここでは実際にデータベース リンクをカプセル化して読み取って返す必要があります。データをマップに変換して開発を促進します。
PHP を学習しても改善が見られないと感じた場合は、多くの本を読む必要はなく、Linux システムに切り替えて使用してみてください。実際、Linux は Windows よりも便利であることがわかります。lnmp/lamp のセットを使用したり、いくつかのシェル コードを作成したり、データベースを自動的にバックアップしたり、PHP に従って特定の機能を実現したりすることもできます。 PHP プログラムをデバッグするためにブレークポイントを使用するように PHP の xdebug を設定するには、PHP 拡張機能を作成したり、memcache を設定したりするのにも非常に便利です。 vim を使用して何かを作成し、Gcc コンパイル c を使用してみることもできます。 gdb を使用してプログラムをデバッグし、コマンドラインを使用してさらに多くのことを実行してみると、php が実際に Linux に最適であることがわかります。
この時点で、あなたはすでに Linux を十分に使いこなすことができます。一般的なフレームワーク、PHP オブジェクト指向、PHP マジック関数、PHP がポリモーフィズムをどのように実現できるか、PHP がどのように実行されるのかを分析するために、小さなフレームワークを自分で作成してみてはいかがでしょうか。 Apache では、なぜ nginx が Apache よりもパフォーマンスが高いのか、複数のサーバーでセッションを共有する方法、開発プロセス中の特定の状況で使用するために、curl を使用していくつかのインターフェイスを呼び出す方法、シリアライズ/アンシリアライズを使用してシリアル化とストレージを実現する方法一部のデータと逆シリアル化セッションの使用、一部の Web サイトのコンテンツをクロールする方法、および使用習慣を改善する方法。つまり、まだやるべきことがたくさんあるということです。PHP で学ぶべきことが何もないわけではありません。しかし、何もないと感じたときは、コーディング段階にとどまるべきではありません。学ぶことがたくさんあるのは、あなたの知識の範囲がまだ小さすぎて、認知レベルが浅すぎるからです。 プログラミングは簡単ではなく、学んで大切にするのは難しく、仕事を見つけるのも簡単ではありません。それでも、いつでも自分を向上させるために一生懸命努力する必要があります。