Почему я получаю умное уведомление "Попытка получить свойство необъекта в...\sysplugins\smarty_internal_templatecompilerbase.php в строке 348"?

Я создаю свой $smarty объект в соответствии с руководством Smarty, и я получаю следующее уведомление:

Notice: Trying to get property of non-object in ...\smarty-3.1.32\libs\sysplugins\smarty_internal_templatecompilerbase.php on line 348

Что это значит и как я могу избежать этого?

1 ответ

Это сообщение об ошибке появляется, когда вы расширяете класс Smarty, но из нового конструктора вы не вызываете родительский конструктор. Сделайте что-нибудь подобное в своем детском классе:

class SmartyExtend extends Smarty {
    function __construct() {
        parent::__construct();  // this is the line that was missing
        $this->setTemplateDir(...);
        $this->setCompileDir(...);
    }
}
Другие вопросы по тегам