模板赋值
模板赋值
除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,绑定数据到模板输出有下面几种方式:
版本 | 新增功能 |
---|---|
5.0.4 | 增加全局静态模板赋值方法share |
assign
方法
namespace indexappcontroller;
class Index extends hinkController
{
public function index()
{
// 模板变量赋值
$this->assign("name","ThinkPHP");
$this->assign("email","thinkphp@qq.com");
// 或者批量赋值
$this->assign([
"name" => "ThinkPHP",
"email" => "thinkphp@qq.com"
]);
// 模板输出
return $this->fetch("index");
}
}
传入参数方法
方法fetch 及 display 均可传入模版变量,例如
namespace appindexcontroller;
class Index extends hinkController
{
public function index()
{
return $this->fetch("index", [
"name" => "ThinkPHP",
"email" => "thinkphp@qq.com"
]);
}
}
class Index extends hinkController
{
public function index()
{
$content = "{$name}-{$email}";
return $this->display($content, [
"name" => "ThinkPHP",
"email" => "thinkphp@qq.com"
]);
}
}
助手函数
如果使用view助手函数渲染输出的话,可以使用下面的方法进行模板变量赋值:
return view("index", [
"name" => "ThinkPHP",
"email" => "thinkphp@qq.com"
]);
share
方法
V5.0.4+
开始,支持在任何地方使用静态方法进行模板变量赋值,例如:
thinkView::share("name","value");
// 或者批量赋值
thinkView::share(["name1"=>"value","name2"=>"value2"]);
全局静态模板变量最终会和前面使用方法赋值的模板变量合并。