検索
ホームページPHPフレームワークThinkPHPThinkPHP コンテナの最終概要

ThinkPHP コンテナの最終概要

Oct 15, 2020 pm 04:06 PM
thinkphp

#”この記事は、コンテナーのソース コードを読んだ後の最後のまとめ記事です。コンテナーに関する知識を簡単にまとめたものです。

登録モード

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

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

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

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

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

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

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

リフレクション

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

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

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

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

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

コード実行プロセス内

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

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

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

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

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。