2011-01-12 4 views
1

Мне нужно установить переменную объекта во время выполнения, он работает, но PHP возвращает меня:Создание объекта по умолчанию из пустого значения

Создание объекта по умолчанию из пустого значения (/ SCT/ФВ FW_List.class.php: 1142)

function initTemplates(&$object, $tpl_names) 
{ 

global $FW_LIST_CONFIGURATION; 
    $is_custom = array(); 

    foreach($tpl_names as $tpl_type) { 
     $object->$tpl_type = new template(); 
     $object->$tpl_type->setTemplateText($FW_LIST_CONFIGURATION["templates"][$tpl_type]); 
      // place the defauts template values 
     $object->$tpl_type->setPlace($FW_LIST_CONFIGURATION["css"][$tpl_type]); 
    } 
    return $is_custom; 
} 

пс. Я не могу использовать $object = new stdClass, потому что $ object является указателем.

+0

1. PHP не поддерживает указатели, так как «$ object» может быть указателем? 2. Поскольку PHP5 все объекты по умолчанию передаются по ссылке, поэтому вы должны опустить '&'. 3. Вы используете неопределенные переменные '$ stdObj' и' $$ FW_LIST_CONFIGURATION'. – Crozin

+0

Извините, мой код выглядит так: $ object -> $ tpl_type и , поэтому я написал здесь, я пропустил время, чтобы задать вопрос: \ – NandoBas

+0

Я отредактировал вопрос, поместив оригинальную функцию, как это делается в моем коде , – NandoBas

ответ

1

разрешено, секрет должен был использовать Array;

$object->test[$tpl_type] = new template(); 
$object->$tpl_type = $object->test[$tpl_type]; 
$object->$tpl_type->setTemplateText($FW_LIST_CONFIGURATION["templates"][$tpl_type]); 
Смежные вопросы