Suntikan kebergantungan ialah corak reka bentuk yang membolehkan kebergantungan luaran disuntik ke dalam fungsi. Fungsi PHP boleh melaksanakan suntikan kebergantungan dengan menggunakan parameter fungsi, seperti menghantar contoh PDO untuk menyuntik sambungan pangkalan data. Kelebihan suntikan pergantungan termasuk kebolehujian, kebolehselenggaraan dan kebolehskalaan.
Apakah suntikan pergantungan?
Suntikan kebergantungan ialah corak reka bentuk yang membolehkan kita menyuntik kebergantungan luaran dalam fungsi tanpa menciptanya secara langsung. Ini menjadikan kod lebih modular dan boleh diuji.
Cara melaksanakan suntikan kebergantungan menggunakan fungsi PHP
Terdapat beberapa cara untuk melaksanakan suntikan kebergantungan dalam fungsi PHP. Cara mudah ialah menggunakan parameter fungsi:
function greet(string $name, \DateTime $now = null) { $now = $now ?? new \DateTime(); // ... }
Dalam contoh ini, $name
ialah parameter yang diperlukan, manakala $now
adalah pilihan. Jika $now
tidak diberikan, ia akan lalai kepada tarikh dan masa semasa. $name
是必需的参数,而 $now
是可选的。如果 $now
没有提供,它将默认为当前日期和时间。
实战案例
让我们来看一个实际的例子:
// 创建一个创建数据库连接的函数 function createDatabaseConnection(\PDO $pdo) { // 使用 PDO 实例 $pdo 进行连接 // ... } // 在一个控制器中注入数据库连接 function showProducts(string $category, \PDO $databaseConnection) { // 使用数据库连接 $databaseConnection 来获取产品数据 // ... }
通过依赖注入,我们可以使用不同的 PDO 实例来测试 showProducts()
Kes Praktikal
Mari kita lihat contoh praktikal:rrreee
Dengan suntikan pergantungan, kita boleh menggunakan contoh PDO yang berbeza untuk menguji fungsishowProducts()
tanpa benar-benar menyambung ke pangkalan data. Atas ialah kandungan terperinci Bagaimana untuk melaksanakan suntikan pergantungan dalam fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!