ホームページ > バックエンド開発 > PHPチュートリアル > PHPを深く学ぶ際のボトルネックを解決する方法

PHPを深く学ぶ際のボトルネックを解決する方法

PHPz
リリース: 2023-03-07 10:06:01
オリジナル
2104 人が閲覧しました

PHP は、最初に学習したときは非常に簡単であると学習者に感じさせますが、2 ~ 3 年学習すると、ボトルネックに遭遇したと深く感じます。 「価値がない、捨てるのは残念だ」という感情はとても適切です

私はよくこう感じます。 、私は何も進歩しないようです、私が学んでも何も進歩しません ..elseループこれらは皆さんも知っていますし、いくつかの 関数

さえ覚えています。他の人はよく知りませんが、プロジェクトが始まると、本当に解決策がなく、何をすべきかわかりません...

現時点では、まず第一に。 、業界に入ったことおめでとうございます、そして第二に、PHP を深く学ぶというボトルネックを克服できたことおめでとうございます

しかし、このレベルに合格することで、あなたの知識のレベルは向上します。妨げとなるのは PHP に関することではなく、PHP 以外の多くの事柄です...

。このボトルネックを解決するにはどうすればよいですか?

1: プログラミングのアイデアを深く理解する

PHP 開発プロジェクトに含まれるプログラミングのアイデアには、プロセス指向プログラミングの実装、

オブジェクト指向プログラミングの実装、およびアスペクト指向プログラミングが含まれます。これは、最初に遭遇するプログラミングのアイデアです。これは、重複を引き起こすコードを関数にカプセル化する処理のアイデアです。このアイデアを使用して、プロジェクトを直接開発できます。 、しかし、非常に多くのファイルを作成することになるため、プロジェクトの開発にはプロセス指向のプログラミングのアイデアのみを使用することになります。最大の特徴は、プロジェクト内のファイルが多すぎることです。ファイルが多いと、フォルダーの配布を制御することが難しくなり、プロジェクトのメンテナンスやアップグレードにも役立ちません。また、大規模なプロジェクトを構築することも困難になります。これは通常、エンタープライズ Web サイトと同じです。ファイルの数が多い場合は、新しいアイデアが必要になります。オブジェクト指向プログラミングのアイデアは、カプセル化、抽象化、継承、ポリモーフィズム、

インターフェイス

です。これらを丸暗記する必要はありません。実践的な原則を理解して、少なくとも「継承はなぜポリモーフィックなのか?

これが重要なポイントであり、難しいことだ」と自分自身に納得させることができなければなりません。あなたはそれをすべて読んでおり、たくさんの本を読んでいますが、それを使用する際には意味がないようです。なぜなら、これは少なくとも PHP の深い理解の妨げになるからです。たとえば、多くの人が TP を使ってプロジェクトや Laravel を開発していますが、Laravel のソースコードはなぜそうなっているのでしょうか?これらの質問に答え、その理由をさらに尋ねます。答えを探す過程で、知らず知らずのうちにレベルが向上します... プロジェクトの開発にオブジェクト指向の思考を使用すると、ファイルを作成し、プロジェクトを非常に便利にします。コンパクトで合理的でありながら、強力でスケーラブルです。ただし、プロジェクトが大きくなるにつれて、ファイル間の必然的な重複に反映された重複コードが多数存在することがわかります。これはオブジェクト指向の欠陥ではなく、プロジェクト自体の問題です。オブジェクト指向は、これらの問題を解決するのに十分強力ではありません (プロセス指向であればなおさら)。現時点では、新しい考え方、つまりアスペクト指向のプログラミング思考をアップグレードする必要があります。もしかしたら、この考えはあなたにとって漠然としているかもしれません。しかし、「テンプレートにデータ取得ラベルを設定する」と言えば理解していただけるはずです。

フォーム: 5" order="id asc" limit="10">

《{$title}》---{$author}

{$add_time}

これは、テンプレートを設定するときに動的データを取得するためによく使用される方法ですが、なぜこの方法で行われるのか説明できますか?

実際、これらの質問に答えることができれば、あなたはすでにアスペクト指向プログラミングの分野に参入しています。テンプレート解析エンジンを深く理解する必要があるためです... これは大規模なプロジェクトによってもたらされますが、オブジェクト指向のコードの冗長性によって解決することはできません。この方法でのみプロジェクトを改善できます。

2: MVC、単一エントリ、正規表現など

MVCはこれらの単語を暗記することではなく、深く理解することです。 ControllerModel、View がある理由と、それぞれの内容がどうあるべきかを理解します...

正規表現も非常に熟練する必要があります。

3: データベースの詳細

データベースのサブデータベース、サブテーブル、パーティション、データベース クラスターについて学び始めます。

データベースの最適化: インデックスの最適化、SQL ステートメントの最適化など。

4: ファイルキャッシュ、データベースキャッシュ、メモリキャッシュなどのさまざまなキャッシュ処理

これらには、設定ファイルの作成方法と操作方法、データベース キャッシュ テーブル、キャッシュ フィールドなど、多くのことが関係します。 NoSQL の導入: Memcache、RedisMongodb、....

5: サーバー

は主に Linux サーバーであり、多くのコンテンツがあり、最初に導入されたものはアウトは、Apache、Nginx、およびその他の Web 監視プログラムです。

ssh、ftpなどの一般的なプログラムもあります。

さらに詳しくは、シェル プログラミングがあり、シェル プログラミングを使用して、AMP、WDCP などのサーバー管理システムを開発します。これらのことは、PHP の作業を行うあなたには無関係に思えるかもしれませんが、Web サイトにアクセスできない場合は、 、あなたは何が問題か知っていますか?したがって、それは無関係ではありませんが、非常に関連性があるため、その狭い制限の意味をこれ以上維持しないでください。

6: 負荷分散、Webサイトの耐圧など

発展性のあるプロジェクトを構築するために必要な内容ですが、どれくらい理解できましたか? PHP関連。

7: データ構造の徹底的な学習

あなたは新入生のときにデータ構造を学んだと思いますが、それはポインタ、リンクされたリスト、キュー、スタックなどについて話していました。聞いた内容は混乱するでしょう。あまり使用しないでしょう。ただし、この段階では、Apache の原理などを理解するのに役立ち、もちろん Apache を使いやすくなります。これは実際、ボトルネックの問題を目に見えない形で解決するのに役立ちます。

8: 基礎となる言語

を主に学習する必要があります: C 言語、C++; C 言語と C++ は非常に重要な基本言語であることがわかります。 PHP インタプリタは C/C++ で書かれており、ブラウザも C/C++ で書かれています。これはもちろん PHP アプリケーションにリンクされています。

9: アプリケーションレベルの学習

を強化します。例: WeChat 開発、さまざまなサードパーティプラグインの使用 (jquery、Layer、bootstrap、Uploadify)。必要なプラグインを自分で作成することもできます。

PHP だけに限定するのではなく、フロントエンドにも取り組み始めてください。フロントエンドに関することで PHP をより深く理解できるようになります。例: Web サイトのトップページから記事を抽出する場合、数字が 1、2、3、4、5 であれば、フロントエンドから解決することも、PHP から解決することもできます...さらに必要な場合はどうすればよいですか?変態的な情報表示?おそらく、PHP 側、あるいはデータベース側で解決するのが適切でしょう...

知識を広げることで、PHP をより深く学ぶことができます...

要するに、PHP を学ぶときは、次のことが必要になります。基本をマスターすれば、PHP は簡単で、非常にシンプルで、2 週間もあれば習得できるなどと子供じみた発言をすることはもうありません。自分がますます小さくなり、まだ多くのことを学ぶ必要があるとさえ感じるかもしれませんが、少なくともこの業界に本格的に参入したのであれば問題ありませんが、PHP を深く学ぶというボトルネックに直面することになります。あなたを妨げているのは、PHP 以外の多くの要素です。遭遇したものを探求するには、広い心で物事を探求する必要があります。好き嫌いをしたり、あれやこれやを軽蔑したりせず、一日中不平不満を言い続けてください...

粘り強く、新しい理由を解決する限り、あなたは大丈夫です。ボトルネックはいつか乗り越えられ、そのときあなたは真に何かを学び、多才で問題を包括的に解決する能力を備えたマスターとなるでしょう。

以上がPHPを深く学ぶ際のボトルネックを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート