Panduan Penggunaan Kontena ThinkPHP6: Amalan Suntikan Ketergantungan
Pengenalan:
Dalam pembangunan PHP moden, menggunakan bekas untuk melaksanakan suntikan kebergantungan adalah cara teknikal yang biasa. Dalam versi terkini rangka kerja ThinkPHP, ThinkPHP6, komponen kontena juga disepadukan untuk memudahkan pembangun mengamalkan suntikan pergantungan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan bekas dengan betul dalam ThinkPHP6 dan menggunakan kod sampel untuk membantu pembaca memahami dengan lebih baik.
1. Apakah itu bekas?
Bekas ialah objek yang bertanggungjawab untuk menguruskan suntikan instantiasi dan pergantungan kelas. Ia secara automatik menyuntik kebergantungan antara objek dengan menghuraikan dan menjana contoh objek.
Dalam ThinkPHP6, komponen kontena dilaksanakan melalui komponen suntikan kebergantungan Symfony. Ia menyediakan pembangun dengan cara ringkas dan pantas untuk melaksanakan instantiasi kelas dan suntikan pergantungan.
2. Cara menggunakan bekas
Sebagai contoh, kita perlu mengkonfigurasi kelas bernama "demo", yang bergantung pada kelas lain bernama "example", kita boleh mengkonfigurasinya seperti ini:
return [ 'demo' => [ ppdemoDemo::class, // 类名 ['example'], // 依赖的其他类 true, // 是否为单例 ], ];
Dalam konfigurasi di atas, kami mentakrifkan kelas ppdemoDemo sebagai "demo " bergantung pada "contoh" kelas dan dinyatakan sebagai mod tunggal (benar bermaksud tunggal, palsu bermaksud bukan tunggal).
use thinkContainer;
Kemudian, kita boleh menggunakan bekas untuk membuat instantiate objek dengan cara berikut:
$demo = Container::pull('demo');
Dalam kod di atas, kita menggunakan Bekas: :pull() kaedah untuk Menghidupkan objek bernama "demo" dan menetapkannya kepada pembolehubah $demo.
require __DIR__ . '/../vendor/autoload.php'; // 注册容器 hinkContainer::getInstance()->register();
Dalam kod di atas, kami menggunakan kaedah Container::getInstance() untuk mendapatkan contoh kontena dan gunakan register( ) kaedah untuk mendaftarkan bekas.
3. Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang kaedah menggunakan bekas untuk melaksanakan suntikan pergantungan dalam ThinkPHP6. Mula-mula kita perlu mengkonfigurasi bekas dalam pembekal fail konfigurasi.php, dan kemudian membuat instantiat objek melalui kaedah Container::pull(). Akhir sekali, daftarkan bekas dalam fail kemasukan.
Kaedah menggunakan bekas ini boleh membantu pembangun mengurus kebergantungan antara kelas dengan lebih standard dan fleksibel, serta meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod. Saya percaya bahawa melalui kajian artikel ini, pembaca akan mempunyai pemahaman yang lebih mendalam tentang penggunaan bekas ThinkPHP6.
Kod rujukan:
<?php // 容器配置文件config/provider.php return [ 'demo' => [ ppdemoDemo::class, ['example'], true, ], ];
Salin selepas log masuk
Atas ialah kandungan terperinci Panduan Penggunaan Bekas ThinkPHP6: Amalan Suntikan Ketergantungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!