Я не могу открыть файл с помощью \ Template :: instance () -> render.Я получаю следующую ошибку - PullRequest
0 голосов
/ 23 мая 2018

Это дает мне следующую ошибку,

[text] => Невозможно открыть /home/mehul/www/portal.hsua.com.au/public_html/assets/templates.html

Это часть кода, которая вызывает проблему.

    $this->f3->set('const', $constants);
    ob_start();
    echo \Template::instance()->render('/home/mehul/www/portal.hsua.com.au/public_html/assets/templates.html');
    $renderedView = ob_get_clean();

    /*foreach ($variables as $varname => $variable) {
        $this->f3->clear($varname);
    }*/

    return $renderedView;

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Методы render() объединяют данный шаблон $file со всеми путями шаблона, сохраненными в системной переменной UI при поиске допустимого файла.Поэтому необходимо либо указать относительный путь, либо добавить / в качестве обходного пути.

Обходное решение

$f3 = Base::instance();
$f3->concat('UI', ';/');

Источник / ссылка

Объединение $dir.$file в base.php # L2791 является виновником.Ваша ошибка генерируется несколькими строками ниже.

Обновление / Пример

$f3 = Base::instance();
$f3->concat('UI', ';/'); // Add support for absolute paths.

echo \Template::instance()
    ->render(__DIR__ . '/template.html');
0 голосов
/ 23 мая 2018
  1. Файл может не существовать

  2. вы открываете файл PHP в своем веб-браузере Файл PHP находится где-то в / var / www, предоставленном Nginx /Apache.В этом случае ваш веб-сервер, вероятно, не имеет доступа к открытию файла в вашем домашнем каталоге.

Я рекомендую поместить файлы шаблонов рядом с вашим файлом PHP, чтобы убедиться, что ваш веб-сервер имеетдоступ к нему.

...