“この記事は、コンテナ クラスのソース コードを解析する前の簡単な内容です。全体的な内容を詳しく調べた後、分析する前に頭の中に印象を残すことができます。
”
次にコンテナのソース コードを読むのはそれほど難しいことではありません。前回の記事をまだ読んでいない場合は、必ずもう一度読んでください。
public/index.php
を何度も開いたことがあると思います。Container::get('app')
このコード行はアプリのインスタンスを返し、簡単なブレークポイントを作成できます。 アプリ クラスの多くの属性が返されることがわかります。 ######したがって、登録ツリー モードでは、以前に書かれたものを繰り返し読んだりすることはできません。そうしないと、読めば読むほど混乱してしまいます。 ###これまでの技術的なポイントは、すべて次への道を開くためのものです。これまでの記事を読まないと、次の内容は読めません。専門家は話しません!
それでは、フレームワーク内のコンテナはどのように定義されているのでしょうか?それはどのように達成されるのでしょうか?
つまり、この get()
メソッドの動作に注意するだけで済みます。
コードは、ファイル thinkphp/library/think/Container.php# 内の
get()method## までトレースされます。
getInstance() メソッドはおなじみですよね。これが上記のシングルトン パターンです。つまり、プログラムの宣言サイクル中に返されるオブジェクトのインスタンスは 1 つだけです。
getInstance()このメソッドは、同じファイル内にこのシングルトン モード メソッドがあり、コンテナ インスタンスを返します。
次に、コンテナ内の make メソッドを詳細に分析します。
「学習の継続、ブログの継続、共有の継続は、カカがそのキャリア以来常に支持してきた信念です。巨大なインターネット上のカカの記事がそうであることを願っています」 Silk のお手伝いをします。私の名前はカカです。また次回お会いしましょう。
”
以上がThinkPHPコンテナの予備分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。