thinkPHP5-视图模板变量

这篇博客详细介绍了thinkPHP5中视图模板变量的使用,包括四种传值方式:fetch、assign、$this->view及View类的share方法。此外,还提到了模板引擎的标签修改、模板常量的定义与使用,如__CSS__等框架自带常量。文章还讨论了系统变量的应用、视图变量的控制方法以及视图中的注释方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、变量传值四种方式:

方式一:使用think\Controller中的fetch方法

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
    public function index(){
        return $this->fetch('index',[
            'email' => '1111111111@qq.com',
            'username' => 'dobby'
        ]);
    }
}

方式二:使用think\Controller中的assign方法

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
    public function index(){
        $this->assign('email','11111111111@qq.com');
        $this->assign('username','dobby');
        return $this->fetch('index');
    }
}

方式三:使用think\Controller中的$this->view

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
    public function index(){
        $this->view->email = '1111111111@qq.com';
        $this->view->username = 'dobby';
        return $this->fetch('index');
    }
}

方式四:使用think\View类中的share方法

namespace app\index\controller;
use think\Controller;
use think\View;
class Index extends Controller{
    public function index(){
        View::share('email','1111111111@qq.com');
        View::share('username','dobby');

        return $this->fetch('index');
    }
}

视图文件:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>视图显示变量</title>
</head>
<body>
	<p>{$email}</p>
	<p>{$username}</p>
</body>
</html>

二、模板引擎普通标签的开始标记和结束标记可在配置文件中修改(当前端使用框架的标签标记与{}冲突时修改),

// 模板引擎普通标签开始标记
'tpl_begin'    => '{',
// 模板引擎普通标签结束标记
'tpl_end'      => '}',

三、模板常量

使用view_replace_str自定义模板常量

框架自带常量有__CSS__、__URL__、__JS__、__STATIC__等,

在视图中使用模板常量,

四、系统变量使用

视图文件代码: 

<p>{$Think.server.HTTP_HOST}</p>
<!--环境变量取值:变量需要大写,并加前缀PHP_-->
<p>{$Think.env.PHP_STATUS}</p>
<p>{$Think.get.id}</p>
<p>{$Think.request.id}</p>
<p>{$Think.post.sid}</p>
<p>{$Think.session.email}</p>
<p>{$Think.cookie.username}</p>

控制器文件代码:

namespace app\index\controller;
use think\Controller;
class Index extends Controller{
    public function index(){
        session('email','1111111111@qq.com');
        cookie('username','dobby');
        return $this->fetch('index');    
    }
}

五、视图中使用方法调节变量

 视图文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>view学习</title>
</head>
<body>
    <h1>这是index/index.html</h1>
    <p>{$email|md5}</p>
    <p>{$email|substr=0,3}</p>
    <p>{$phone|default=13784848484}</p>
    <p>{$time|date='Y-m-d H:i:s',###}</p>
    <p>{$email|md5|substr=###,0,5}</p>
</body>
</html>

控制器文件:

namespace app\index\controller;
use think\Controller;

class Index extends Controller{
    public function index(){
        $this->assign('email','2222222222@qq.com');
        $this->assign('username','dobby');
        $this->assign('time',time());
        return $this->fetch('index');
    }    
}

六、视图中变量计算

<h1>这是index/index.html</h1>
<p>a+b={$a+$b}</p>
<p>a-b={$a-$b}</p>
<p>a*b={$a*$b}</p>
<p>a/b={$a/$b}</p>
<p>b%a={$b%$a}</p>
<p>a++={$a++}</p>
<p>a--={$a--}</p>
<p>++a={++$a}</p>
<p>--a={--$a}</p>
namespace app\index\controller;
use think\Controller;

class Index extends Controller{
    public function index(){
        $this->assign('a',10);
        $this->assign('b',20);
        $this->assign('c',5);
        return $this->fetch('index');
    }    
}

七、视图的注释

HTML的注释 <!---->,浏览器上显示;

视图的注释{/**/},浏览器上不显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值