我正在处理一个可能有太多类的大型 PHP 项目,当某些类依赖于其他类时会出现我的问题,例如错误处理类可能取决于安全类,用户类可能取决于数据库类等等...
$obj1 = new class1();
$obj2 = new class2($obj1);
$obj3 = new class3();
$obj4 = new class4($obj3 , $obj1);
etc...
因此我的问题来了!管理依赖关系的最佳方法是什么?
尝试自动加载您的课程。这样,如果一个类需要另一个类,它就不必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';
});
?>