2013-07-28 2 views
0

У меня есть этот код.Создание класса с помощью строки

$contrl = stripslashes($this->params['controller'].'Controller'); //PostController 
    $obj = new $contrl(); // What's won't work 
    //this don't work too 
    $contrl = 'PostController'; 
    $obj = new $contrl(); 
    //but this work good 
    $obj = new PostController(); 

Я не понимаю, почему это происходит и как я могу это исправить?

ответ

0

Я не проверял, но я уверен, что это должно быть сделано, как это (as per the doc):

$obj = new $contrl; 
+0

Я пытаюсь это тоже. Он говорит, что Class 'PostController' не найден – eskov

+0

У вас есть класс, включенный/требуемый для скрипта, в котором вы его запускаете? –

+0

Это '$ obj = new $ contrl();'. – Brian

Смежные вопросы