我正在研究一個可能的大型PHP項目,其中有太多的類,並且當某些類依賴於其他類時出現問題,例如錯誤處理類可能取決於安全類,用戶類可能取決於在數據庫類等等...我如何管理我的依賴關係?
$obj1 = new class1();
$obj2 = new class2($obj1);
$obj3 = new class3();
$obj4 = new class4($obj3 , $obj1);
etc...
因此,我quesion進來!管理依賴關係的最佳方式是什麼?
我正在研究一個可能的大型PHP項目,其中有太多的類,並且當某些類依賴於其他類時出現問題,例如錯誤處理類可能取決於安全類,用戶類可能取決於在數據庫類等等...我如何管理我的依賴關係?
$obj1 = new class1();
$obj2 = new class2($obj1);
$obj3 = new class3();
$obj4 = new class4($obj3 , $obj1);
etc...
因此,我quesion進來!管理依賴關係的最佳方式是什麼?
嘗試自動加載你的課程。那樣如果一個班級需要另一個班級,它不一定要require()
吧。從文檔
http://php.net/manual/en/function.spl-autoload-register.php
例子:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.class.php';
}
spl_autoload_register('my_autoloader');
// Or, using an anonymous function as of PHP 5.3.0
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
});
?>
您可能也有興趣[PHPXref(http://phpxref.sourceforge.net/) – paulsm4
這是關於自動加載的類或約將對象傳遞給其他對象? – Sliq
看看Symfony依賴注入容器,它非常有用。 – deceze