2013-07-23 4 views
0

내가 너무 많은 클래스를 가지고있을 가능성이 큰 PHP 프로젝트에서 일하고 있는데, 일부 클래스가 다른 클래스에 의존 할 때 내 문제가 나타납니다. 예를 들어, 오류 처리 클래스는 보안 클래스에 의존하고, 사용자 클래스는 데이터베이스 클래스에 ...의존성을 어떻게 관리 할 수 ​​있습니까?

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

그러므로 내 질문이 들어옵니다! 의존성을 관리하는 가장 좋은 방법은 무엇입니까?

+0

또한 [PHPXref]에 관심이있을 수 있습니다 (http://phpxref.sourceforge.net/) – paulsm4

+0

이 클래스를 자동 로딩 또는 약에 대한인가 다른 객체에 객체를 전달 하시겠습니까? – Sliq

+1

Symfony Dependency Injection Container를 살펴보면 매우 유용합니다. – 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

관련 문제