我正在尝试使用Fat-Free Framework,现在我不知道如何将变量解析为我的布局。 不知怎的,我做了,但不是我想要的方式。我知道你可以通过路由解析变量,然后使用set。 但我有这个布局,我有一些特定的变量需要在我的布局中,这些将永远在那里,如我的标题和其他东西。 但是我需要为每条路线解析这些都没有意义,有没有办法做到这一点。
我确实阅读了他们在fatfreeframework.com上的所有文档,并通过谷歌和本网站进行了搜索,但我找不到具体的内容。
答案 0 :(得分:1)
看起来当你说"解析"时,你的意思是"定义"。我假设您的问题是:"如何定义变量以便可以从模板访问它们?"。
有多种方法可以实现这一目标。基本方法是使用$f3->set()
定义变量,然后显示可以访问已定义变量的模板。例如:
//index.php
$f3->route('GET /example1',function($f3){
$f3->set('title','my title');
$f3->set('stuff','my stuff');
$tpl=\Template::instance();
echo $tpl->render('index.html');
}};
//index.html
<h1>{{$title}}</h1>
<p>{{$stuff}}</p>
现在,如果您需要变量公共到所有路线,您可以在路线范围之外定义它们:
$f3->set('title','my title');//$title will be accessible from all routes
$f3->set('stuff','my stuff');//$stuff also
$f3->route('GET /example1',...);
$f3->route('GET /example2',...);
如果您有许多常见变量,并且需要在不更改代码的情况下修改它们,则可以configuration file(.ini格式)定义它们:
//index.php
$f3->config('cfg/commons.ini');
$f3->route('GET /example1',...);
$f3->route('GET /example2',...);
//commons.ini
title = my title
stuff = my stuff