Я пытаюсь создать экземпляр класса (модель Laravel3 Eloquent) с помощью переменной и получаю сообщение об ошибке, говорящее о том, что класс не найден.
Однако когда я жестко задаю имя класса, все работает нормально.
(К вашему сведению, в приведенном ниже коде $contact_type
должен быть телефоном, факсом или электронной почтой.)
Вот во что я играю в данный момент:
foreach( $input AS $contact_type => $contact_info )
{
foreach( $contact_info AS $data )
{
$obj = new $contact_type( (array)$data);
echo'<pre>Obj: ',print_r($obj),'</pre>'; // <----- For Testing
}
}
Когда я запускаю код, как указано выше, он выдает ошибку "Класс "Телефон" не найден".
Когда я заменяю new $contact_type()
на new Phone()
(или факс или электронная почта) , работает просто отлично.
Бьюсь об заклад, есть что-то простое, я просто просматриваю :) Что я пропустил?
Пожалуйста, помогите!
$obj = new Phone()
также не должно работать, если пространство имен связано - person Royal Bg   schedule 03.01.2014use
ing. Классы в текущем пространстве имен также не разрешаются при использовании строки. - person Joseph Silber   schedule 03.01.2014