Thinkphp——视图——模板赋值(疑问)

来源:互联网 发布:双11是天猫还是淘宝 编辑:程序博客网 时间:2024/06/07 12:28

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

1.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');    }}

2.传入参数方法

方法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'        ]);    }}

3.对象赋值

class Index extends \think\Controller{    public function index()    {        $view = $this->view;        $view->name     = 'ThinkPHP';        $view->email    = 'thinkphp@qq.com';        // 模板输出        return $view->fetch('index');    }}

4.share方法

V5.0.4+开始,支持在任何地方使用静态方法进行模板变量赋值,例如:

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

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


原创粉丝点击