Я работал с примерами в документации для Fat Free Framework, и есть один пример, который я не могу заставить работать. Это следующее:
$f3=require('lib/base.php');
$f3->route('GET /',
function($f3) {
$f3->set('name','world');
$template=new Template;
echo $template->render('template.htm');
// Above lines can be written as:
// echo Template::instance()->render('template.htm');
}
);
$f3->run();
Я получаю сообщение об ошибке, что шаблон не найден. Ошибка указывает на строку, в которой отображается файл template.htm, и жалуется на Preview-> render (т.е. его суперкласс, а не Template-> render). Я даже не вижу файл для класса Preview в кодовой базе.
Интересно, что если я использую тот же файл для примера View (ниже), он работает просто отлично.
$f3=require('lib/base.php');
$f3->route('GET /',
function($f3) {
$f3->set('name','world');
$view=new View;
echo $view->render('template.htm');
// Previous two lines can be shortened to:
// echo View::instance()->render('template.htm');
}
);
$f3->run();
Однако, если я собираюсь использовать этот фреймворк, я бы хотел использовать и его шаблонную функцию.
Кто-нибудь с опытом работы с этим фреймворком знает, в чем может быть проблема? Я скачал код с Github (https://github.com/bcosca/fatfree).
Используйте .html вместо .htm. Да, это действительно важно.
У меня нет опыта использования fat free framework
, но общий указатель на то, как отладить эту проблему.
По-видимому, исключение для файла, который не был найден, генерируется каким-то кодом в среде без жира. Попробуйте отладить это используя XDebug
Я столкнулся с этой проблемой с версией Fat Free Framework 3.5.1
Проблема возникает из-за того, что OOB фреймворка (по крайней мере, в этой версии) связан с примером, так что шаблоны ищутся в подпапке ‘ui /’ корневой папки фреймворка без жира.
Что мне это говорит? Хорошо … OOB config.ini имеет следующее содержимое:
[globals]
DEBUG=3
UI=ui/
Чтобы легко решить проблему, либо:
ИЛИ ЖЕ
СОВЕТ: Убедитесь, что любой указанный вами путь пользовательского интерфейса заканчивается на /, и если вам нужно указать несколько путей, вы можете использовать | или или ; разделители (убедитесь, что каждый путь заканчивается на /)