ホームページ >PHPフレームワーク >Laravel >laravelのioc制御反転とは何ですか

laravelのioc制御反転とは何ですか

WBOY
WBOYオリジナル
2022-03-15 11:22:082936ブラウズ

laravel では、IOC 制御の反転はオブジェクト指向プログラミングの設計原則です。これは、コンピューター コード間の結合を減らすために使用できます。これは、あるクラスがその制御を別のクラスに引き渡すことを意味します。オブジェクト、クラス間の依存関係はこのオブジェクトによって解決されます。

laravelのioc制御反転とは何ですか

#この記事の動作環境: Windows 10 システム、Laravel バージョン 6、Dell G3 コンピューター。

laravelにおけるioc制御反転とは

制御の反転(Inversion of Control、略称IoC)は、コンピュータコードの次数を削減するために使用できるオブジェクト指向プログラミングの設計原則です。それらの間のカップリング。

最も一般的な方法は依存性注入 (DI) と呼ばれ、もう 1 つの方法は「依存性ルックアップ」と呼ばれます。制御の反転により、オブジェクトが作成されると、システム内のすべてのオブジェクトを制御する外部エンティティが、依存するオブジェクトの参照をそれに渡します。

簡単に言うと、クラスはその制御を別のオブジェクトに渡し、クラス間の依存関係はこのオブジェクトによって解決されます。依存関係の注入は依存関係の明示的な宣言ですが、依存関係のルックアップはルックアップを通じて依存関係を解決します。

制御の反転 (IoC): コンテンツを自分で変更する必要はなく、代わりに外部に渡されます。内部依存関係から外部依存関係に変更します。

制御の反転 (IOC): 「制御」はプログラム実行フローの制御です。「反転」とは、フレームワークを使用する前に、プログラマがプログラム全体の実行を制御することを意味します。フレームワークを使用した後は、制御はプログラマからフレームワークに移されます。

クラスを挿入する:

App::bind('foo', function($app)
{
    return new FooBar;
});

この例は、エイリアス foo を持つクラスを作成することを意味し、それを使用するときの実際のインスタンス化は FooBar です。

このクラスを使用するメソッドは次のとおりです:

$value = App::make('foo');

$value は実際には FooBar オブジェクトです。

シングルトン モードを使用してクラスをインスタンス化する場合は、次を使用します。

App::singleton('foo', function()
{
    return new FooBar;
});

この方法では、毎回同じオブジェクトがインスタンス化されます。

[関連する推奨事項: laravel ビデオチュートリアル ]

以上がlaravelのioc制御反転とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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