Rumah >rangka kerja php >Laravel >Apakah penyongsangan kawalan ioc dalam laravel

Apakah penyongsangan kawalan ioc dalam laravel

WBOY
WBOYasal
2022-03-15 11:22:082935semak imbas

Dalam laravel, penyongsangan IOC adalah prinsip reka bentuk dalam pengaturcaraan berorientasikan objek Ia boleh digunakan untuk mengurangkan gandingan antara kod komputer Ini bermakna satu kelas menyerahkan kawalannya kepada Objek lain, kebergantungan antara kelas diselesaikan oleh objek ini.

Apakah penyongsangan kawalan ioc dalam laravel

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Apakah penyongsangan kawalan ioc dalam laravel?

Penyongsangan Kawalan (Penyongsangan Kawalan, disingkatkan IoC) ialah prinsip reka bentuk dalam pengaturcaraan berorientasikan objek yang boleh digunakan untuk mengurangkan tahap kod komputer gandingan antara mereka.

Kaedah yang paling biasa dipanggil Suntikan Ketergantungan (DI), dan kaedah lain dipanggil "Pencarian Ketergantungan". Melalui penyongsangan kawalan, apabila objek dicipta, entiti luaran yang mengawal semua objek dalam sistem menghantar rujukan objek yang bergantung kepadanya.

Ringkasnya, kelas menyerahkan kawalannya kepada objek lain dan pergantungan antara kelas diselesaikan oleh objek ini. Suntikan kebergantungan ialah pengisytiharan kebergantungan yang jelas, manakala pencarian kebergantungan menyelesaikan kebergantungan melalui carian.

Penyongsangan Kawalan (IoC): Tidak perlu mengubah suai kandungan sendiri, sebaliknya ia diluluskan secara luaran. Tukar daripada kebergantungan dalaman kepada kebergantungan luaran.

Inversion Of Control (IOC): 'Control' ialah kawalan aliran pelaksanaan program 'Inversion' bermaksud sebelum menggunakan rangka kerja, pengaturcara mengawal pelaksanaan keseluruhan program. Kawalan dipindahkan daripada pengaturcara ke rangka kerja.

Suntikan kelas:

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

Contoh ini bermaksud mencipta kelas dengan alias foo, dan instantiasi sebenar apabila menggunakannya ialah FooBar.

Cara untuk menggunakan kelas ini ialah:

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

$value sebenarnya ialah objek FooBar.

Jika anda ingin menggunakan mod singleton untuk membuat instantiate kelas, kemudian gunakan:

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

Dengan cara ini, objek yang sama akan dijadikan instantiated setiap kali.

[Cadangan berkaitan: tutorial video laravel]

Atas ialah kandungan terperinci Apakah penyongsangan kawalan ioc dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn