模板赋值

除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,绑定数据到模板输出有下面几种方式:

版本新增功能
5.0.4增加全局静态模板赋值方法share

assign方法

namespace index\app\controller;class Index extends \think\Controller{    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 app\index\controller;class Index extends \think\Controller{
    public function index()
    {        return $this->fetch('index', [            'name'  => 'ThinkPHP',            'email' => 'thinkphp@qq.com'
        ]);
    }
}
class Index extends \think\Controller{    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+开始,支持在任何地方使用静态方法进行模板变量赋值,例如:

think\View::share('name','value');// 或者批量赋值think\View::share(['name1'=>'value','name2'=>'value2']);

全局静态模板变量最终会和前面使用方法赋值的模板变量合并。


 小秋同学  视图  2021-03-25 08:35:00    收藏( id="ey_cnum_1606379494_1688" )  赞(744)
学习吧_一个不错的学习网站
本文地址:https://www.qiuhai.com/doc/1688.html 复制链接 如果还有疑问,欢迎加入我们的QQ交流群:887790 加入Q群 易优最新程序下载: 点击下载
QQ在线咨询