本篇文章為大家帶來了關於PHP的相關知識,其中主要介紹了依賴注入的相關問題,包括了什麼是依賴注入、依賴注入的原因以及依賴注入的應用等等等,希望對大家有幫助。
推薦學習:《PHP影片教學》
一文搞懂php依賴注入,很多人在學習php一段時間後都會聽到依賴注入這個名詞,但是卻一知半解,在我理解依賴注入其實是一種php的程式設計模式,雖然它並沒有被歸位設計模式當中,設計模式的存在都是為了程式設計的高效性而存在的,依賴注入當然也是。
最直接的標誌就是傳參資料為物件的時候。嚴格來說,你想在另一個類中操作另一個類,這兩個類之間形成了相互依賴關係,傳參的方式叫做注入
<?php class container { private $adapter; public function __construct() { $this->adapter = new adapter(); } }
<?php class container { private $adapter; public function __construct(adapter $adapter) { $this->adapter = $adapter; } }
<?php class container { public $instance = []; public function __set($name, $value) { $this->instance[$name] = $value; } } $container = new container(); $container->adapter = new adapter();
<?php class container { public $instance = []; public function __set($name, $value) { $this->instance[$name] = $value; } } class adapter { public $name = '我是调度器'; } $container = new container(); $container->adapter = new adapter(); class autofelix { private $container; public function __construct(container $container) { $this->container = $container; } public function who($class) { return $this->container->instance[$class]->name; } } $autofelix = new autofelix($container); $who = $autofelix->who('adapter'); var_dump($who); //我是调度器
<?php $container = new container(); $container->adapter = new adapter(); //高阶优化 $container = new container(); $container->adapter = function () { return new adapter(); };
推薦學習:《PHP影片教學》
以上是php依賴注入總結分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!