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

本文介绍了ThinkPHP框架中模板变量赋值的四种方法:assign方法、fetch及display方法传参、对象赋值及share静态方法。这些方法适用于不同的场景需求。

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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值