Вот упрощенная версия моей настройки:
контроллер
Код: Выделить всё
public function login($page = 'login')
{
$viewPath = "Modules\\Authentication\\Views\\" . $page;
// Data to be sent to the view
$data = [
'title' => ucfirst($page),
'islogin' => $this->ionAuth->loggedIn(),
'greeting' => 'Hello, welcome to the home page!',
];
// Render the view using the template library
return $this->template->renderAuth($viewPath, $data);
}
Код: Выделить всё
class Template
{
protected $data = [];
public function renderAuth($view, $data = [])
{
echo view('Modules\\Authentication\\Views\\template\\header', $data);
echo view($view, $data);
echo view('Modules\\Authentication\\Views\\template\\footer', $data);
}
Когда я использую следующий код в файле представления:
Код: Выделить всё

нет ошибок

< /p>
Вместо отображения сообщения «Нет приветствия», когда $greeting не определен, PHP показывает на странице буквальный текст $greeting.
Однако, когда я используйте:
Код: Выделить всё
[img]https://i.sstatic. net/WiCbvo7w.png[/img]
Вопросы
- Почему PHP отображает $greeting буквально в представлении при использовании нулевой оператор объединения (??)?
- Может ли эта проблема быть связана с настройкой short_open_tag в php.ini?
- Как мне правильно настроить или устранить эту проблему, чтобы гарантировать правильную обработку переменных в моих представлениях?
Подробнее здесь: https://stackoverflow.com/questions/789 ... sing-it-in
Мобильная версия