#codeigniter #smarty
#codeigniter #smarty
Вопрос:
Есть ли способ заставить codeigniter отображать ошибки smarty?
Я пытаюсь включить файл:
{include file="header.tpl.php"}
но в результате у меня получается пустая страница без ошибок.
Для ошибок установлено значение E_ALL, и отображаются ошибки php.
Спасибо.
Комментарии:
1. Включено ли сообщение об ошибках Smarty ? Также может представлять интерес: http://www.smarty.net/forums/viewtopic.php?t=11351
2. да, я делаю $config [‘error_reporting’] = «E_ALL»;
Ответ №1:
Smarty изменяет уровень сообщения об ошибках при его вызове и изменяет его обратно до того, как он вернется. То, как вы измените настройку, будет зависеть от того, как вы используете Smarty и интегрируете его с Codeigniter — для меня я могу изменить это в config/smarty.php , но основной способ Smarty выглядит следующим образом:
$smarty->error_reporting = E_ALL amp; ~E_NOTICE;
Если вы расширили класс Smarty, чтобы создать свой собственный, вы, вероятно, захотите что-то вроде
$this->error_reporting = E_ALL amp; ~E_NOTICE;
Вместо этого в вашем конструкторе.
Если вы это сделаете, должны начать отображаться ошибки!
Комментарии:
1. Отлично! это сработало, когда изменилось в Smarty.php , странно, что это не сработало: $this-> error_reporting = $this-> CI-> config->item(‘error_reporting’); а в конфигурации было $config[‘error_reporting’] = «E_ALL amp; ~ E_NOTICE»;
2. Это в моей конфигурации: $config[‘error_reporting’] = E_ALL amp; ~ E_NOTICE; Обратите внимание, что вокруг бита E_ALL не должно быть кавычек, E_ALL и E_NOTICE являются константами.