Dengan pembangunan berterusan teknologi PHP, PHP 8.0 membawakan satu siri ciri dan fungsi baharu, di mana penggunaan suntikan kebergantungan juga telah diperbaharui dan dipertingkatkan lagi. Artikel ini akan memperkenalkan anda kepada sintaks suntikan pergantungan dalam PHP 8.0, supaya anda boleh memahami dengan lebih baik kemajuan terkini dalam teknologi PHP.
Pertama, mari kita perkenalkan secara ringkas apa itu Suntikan Ketergantungan. Suntikan Ketergantungan ialah teknologi pengaturcaraan yang digunakan terutamanya untuk mengurangkan tahap gandingan kod dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Dalam suntikan kebergantungan, satu objek dihantar ke objek lain Proses ini boleh dicapai melalui suntikan pembina, suntikan harta, suntikan antara muka, dll. Dengan menggunakan suntikan pergantungan, kami boleh menjadikan kod lebih fleksibel dan memudahkan ujian unit, penyahpepijatan kod dan operasi lain.
Dalam PHP 8.0, sintaks untuk suntikan kebergantungan telah inovatif dan dipertingkatkan. Di bawah ini kami menerangkan ciri baharu ini secara terperinci.
Suntikan harta ialah pelaksanaan suntikan tanggungan yang membolehkan kami menyuntik tanggungan dengan menetapkan sifat objek. Dalam PHP 8.0, kami boleh terus menambah anotasi #[Inject] di hadapan atribut untuk melaksanakan suntikan atribut Kod sampel adalah seperti berikut:
class A { #[Inject] private B $b; public function doSomething() { $this->b->doSomething(); } } class B { public function doSomething() { echo "I'm B"; } } $a = new A(); $a->doSomething();
Dalam kod di atas, kami menentukan dua kelas A dan B. , Objek B disuntik ke dalam kelas A melalui anotasi #[Inject].
Suntikan konstruktor ialah kaedah suntikan kebergantungan yang paling biasa digunakan, yang boleh menyuntik kebergantungan melalui pembina apabila objek dicipta. Dalam PHP 8.0, kita boleh menggunakan sintaks berikut untuk melaksanakan suntikan pembina:
class A { private B $b; #[Inject] public function __construct(B $b) { $this->b = $b; } public function doSomething() { $this->b->doSomething(); } } class B { public function doSomething() { echo "I'm B"; } } $a = new A(new B()); $a->doSomething();
Dalam kod di atas, kita mentakrifkan dua kelas A dan B. Kelas A dilaksanakan dengan menyuntik pembina suntikan Ketergantungan objek B.
Suntikan kaedah ialah pelaksanaan suntikan kebergantungan yang membolehkan kami menyuntik kebergantungan dengan memanggil kaedah pada objek. Dalam kaedah tersebut, kita boleh menggunakan petunjuk jenis parameter untuk menghantar jenis objek yang perlu disuntik sebagai parameter untuk mencapai suntikan kebergantungan. Dalam PHP 8.0, kita boleh menggunakan sintaks berikut untuk melaksanakan suntikan kaedah:
class A { private B $b; #[Inject] public function setB(B $b) { $this->b = $b; } public function doSomething() { $this->b->doSomething(); } } class B { public function doSomething() { echo "I'm B"; } } $a = new A(); $a->setB(new B()); $a->doSomething();
Dalam kod di atas, kita mentakrifkan dua kelas A dan B. Dalam kelas A, pergantungan direalisasikan dengan menyuntik kaedah setB B suntikan objek.
Melalui pengenalan sintaks suntikan kebergantungan dalam PHP 8.0, kita dapat melihat bahawa PHP 8.0 menyediakan pelaksanaan suntikan kebergantungan yang lebih ringkas, fleksibel dan mudah. Dalam pembangunan sebenar, kita boleh memilih kaedah suntikan pergantungan yang berbeza mengikut keperluan, menjadikan kod lebih mudah untuk dikekalkan dan dikembangkan.
Atas ialah kandungan terperinci Sintaks suntikan ketergantungan dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!