2017-10-24 14 views
-1

그래서 일부 네임 스페이스를 정의하고 내가 인스턴스에 지팡이 새로운 객체 :PHP - 네임 스페이스의 변수? 이 같은

$this->controller = new \controller\$this->controller($this->cfg); 

하지만 난

구문 분석 오류 얻을 : 구문 오류, 예기치 않은 '$이'(T_VARIABLE을) 기대 식별자 (T_STRING)

어떻게하면됩니까?

+1

이것은 매우 이상한 문제입니다. 설명하는 것이 좋을 수도 있습니다. 문제는 해결해야 할 문제를 해결할 때보 다 더 생산적 일 것입니다. http://xyproblem.info/ – Sammitch

답변

2

인스턴스화 할 객체의 클래스 이름을 동적으로 결정하려는 것처럼 보입니다. 이렇게하려면 클래스 이름과 함께 문자열이 들어있는 변수를 만든 다음 해당 변수를 인스턴스화하십시오.

$string = $someObject->someMethod(); 
$class = '\\controller\\' . $string; 
$newObject = new $class();