开启辅助访问
帐号登录 |立即注册

thinkPHP5-视图模板变量笔记

 
控制器文件——分配变量
方式一:使用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');
    }

视图文件——渲染(输出)变量

<!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'      => '}',
系统变量使用
系统变量可以通过$Think直接在视图view模板中输出。
视图文件代码:
<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');   
    }
}
常量输出

自定义常量输出
在controller中的文件中,控制器文件:
<?php
define('APP_PA','你好');
?>

在对应的视图文件中*.html中直接调用,视图文件:
{$Think.APP_PA}//即显示你好。

模板系统常量输出
{$Think.const.MODULE_NAME}
或者{$Think.MODULE_NAME}


视图中使用方法调节变量

视图文件:
<!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的注释 <!---->,浏览器上显示;
视图的注释{/**/},浏览器上不显示
模板函数
例1、{$data.name|md5}   
等价于<?php echo (md5($data[name]));?>

例2、{$time|date="y-m-d","###"}
等价于<?php echo(date("y-m-d",$time));?>
###占位符作用,表示$time作为date()函数里的第二个参数。

例3、多个函数,使用"|"分割,函数从左到右的顺序依次调用
{$time|md5|strtoupper|substr=0,3}
等价于<?php echo (substr(strtoupper(md5($time)),0,3))?>  //将字符串转变成大写、加密数据,截取字符串
以上就是本文的全部内容,感谢大家支持JScript之家——编程学习者社区!










回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。