[控制器模板赋值]
变量如果要在模板中使用,就必须先进行模板赋值才可以,但系统变量和配置参数可以不用赋值(我们会在模板章节介绍如何输出)
[控制器基类的assign方法]
<?phpnamespace app\demo\controller;use cmf\controller\HomeBaseController;class IndexController extends HomeBaseController{public function index(){// 单个变量赋值$this->assign("hello", "Hello ThinkCMF!");// 多个变量批量赋值$this->assign(['hello' => 'Hello ThinkCMF!','username' => '老猫']);return $this->fetch(':index');}}
[传入参数方法]
控制器基类的fetch 和display 方法都可以通过参数传入模版变量,如: fetch方法:
<?phpnamespace app\demo\controller;use cmf\controller\HomeBaseController;class IndexController extends HomeBaseController{public function index(){return $this->fetch(':index',['hello' => 'Hello ThinkCMF!','username' => '老猫']);}}
display 方法:
<?phpnamespace app\demo\controller;use cmf\controller\HomeBaseController;class IndexController extends HomeBaseController{public function index(){$content = '{$hello}'."\n".'{$username}';return $this->display($content,['hello' => 'Hello ThinkCMF!','username' => '老猫']);}}
[View 类的assign方法]
此方法支持在任何地方使用进行模板变量赋值,如:
\think\facade\View::assign('public_name', 'this is a name');// 或者批量赋值\think\facade\View::assign(['public_name1' => 'this is a name1','public_name2' => 'this is a name2']);
通过此方法设置的模板变量最后会和上面几种方法赋值的变量合并。
[变量输出]
通过以上方法赋值后,就可以在模板里使用这些变量,这里演示一下变量的输出,更多变量操作会在模板章节说明;
<div>{$hello}</div><div>{$username}</div>
