2013-07-23 60 views
0

我正在研究一個可能的大型PHP項目,其中有太多的類,並且當某些類依賴於其他類時出現問題,例如錯誤處理類可能取決於安全類,用戶類可能取決於在數據庫類等等...我如何管理我的依賴關係?

$obj1 = new class1(); 
$obj2 = new class2($obj1); 
$obj3 = new class3(); 
$obj4 = new class4($obj3 , $obj1); 
etc... 

因此,我quesion進來!管理依賴關係的最佳方式是什麼?

+0

您可能也有興趣[PHPXref(http://phpxref.sourceforge.net/) – paulsm4

+0

這是關於自動加載的類或約將對象傳遞給其他對象? – Sliq

+1

看看Symfony依賴注入容器,它非常有用。 – deceze

回答

1

嘗試自動加載你的課程。那樣如果一個班級需要另一個班級,它不一定要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'; 
}); 

?> 
+1

自動加載解決了包含文件的問題,它不能解決依賴圖問題。 – deceze

+0

@deceze,但如果奇怪的話,那麼這個問題。我也在想這是關於自動加載器! – Sliq

+0

@Panique我很清楚地發現問題。 – deceze