我有一個RemoteCall/Client類實現遠程命令調用。 例如,要通過SSH在遠程系統上運行命令。PHP中的依賴注入無界面也不抽象類
此類使用適配器(現在,我只用一個SSH適配器)。
RemoteCall/Client.php
RemoteCall/Adapter/AdapterAbstract.php
RemoteCall/Adapter/SSH.php
爲了實現SSH協議,我下載了一個名爲Ipworks_SEexec的外部庫(現在不要問我)。
如果我的課SSH.php使用Ipworks_SExec和她之間的依賴注入?
public function __construct($driver = null)
{
$this->_driver = $driver;
}
還是更不實現依賴注入和有類似的東西:
public function __construct()
{
$this->_driver = new Ipworks_SEexec();
}
我班SSH.php將只能與類Ipworks_SEexec。如果我決定使用另一個庫,這是不可能的。