ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP コンテナの最終概要

ThinkPHP コンテナの最終概要

咔咔
咔咔オリジナル
2020-10-15 16:06:332227ブラウズ
#”この記事は、コンテナーのソース コードを読んだ後の最後のまとめ記事です。コンテナーに関する知識を簡単にまとめたものです。

登録モード

この記事は、シングルトン パターンと登録ツリー パターンという 2 つの設計パターンから始まります。

シングルトン モードを簡単に理解すると、アプリケーション宣言サイクル中に返されるインスタンス オブジェクトは 1 つだけであり、新しいオブジェクトは作成されないということです。

登録ツリー モードの理解は、プログラムで使用されるすべてのオブジェクトがツリーに格納され、これを使用する場合は、ツリーからオブジェクトを直接取得して、それを直接使用することができます。

制御の反転依存関係の挿入

制御の反転と依存関係の挿入の名前で人々を混乱させないでください。彼らはイベントの問題を異なる視点で捉えています。 1 つはコンテナーの観点からのもので、もう 1 つはアプリケーションの観点からのものです。

コンテナの観点から見ると、コンテナはアプリケーションを制御し、コンテナは外部リソースをアプリケーションに逆に注入します

アプリケーションの観点から見ると、アプリケーションはコンテナに依存してそして必要な外部リソースを注入します。

リフレクション

リフレクションについて要約することは何もありません。ドキュメントを開いて見てください。重要なのは、使い方を学び、それぞれの意味を知ることです。そしてそれを柔軟に使うことを学びましょう。

コンテナのソースコード解析

コンテナのソースコードを読むと、使用されているものが上記の3つの知識ポイントで構成されていることがわかります。コンテナを設定するための登録モード。 でのオブジェクト管理。

この図のソース コードで使用されている 4 つの属性に留意する必要があります。

ThinkPHP コンテナの最終概要
ここに画像の説明を挿入

コード実行プロセス内

ThinkPHP コンテナの最終概要
ここに画像の説明を挿入

コンテナ内の最も重要なメソッドは invokeClass と bindingParams ですこれら 2 つのメソッドは、Kaka のアイデアに従っている場合は問題ありませんが、ブレークポイント プロセスに従っています。

これを読むと少し混乱するかもしれませんが、注意深く読むと、多くのことを学ぶことができることがわかります

学び続けてください」とブログ , 共有への固執は、キャリアを始めて以来、カカが常に支持してきた信念です。巨大なインターネット上のカカの記事が少しでもあなたに役立つことを願っています。私はカカです。次号でお会いしましょう。

以上がThinkPHP コンテナの最終概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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