《Php笔记3.4》ThinkPHP 模板(上)——变量,函数,包含

本课包含变量输出、函数用法、include 文件包含机制和模板替换规则

 

ThinkPHP 模板:变量输出

本课时讲解 ThinkPHP 模板自定义变量和系统变量的输出,以及自定义模板解析的界定符

变量输出和默认值输出:

控制器IndexController.class.php:

 1 <?php
 2 namespace Views\Controller;
 3 use Think\Controller;
 4 class IndexController extends Controller {
 5     public function index(){
 6         $username = '科比';
 7         $email = 'kobe@qq.com';
 8         $age = 37;
 9 
10         $people = array(
11             'user'=>$username,
12             'mail'=>$email,
13             'age'=>$age
14         );
15         $this->assign('people', $people);
16         $this->assign('user', $username);
17         $this->assign('mail', $email);
18         $this->assign('age', $age);
19 
20         $this->display();   //渲染视图
21 
22 //        $fetchContent = $this->fetch();
23 //        $fetchContent = str_replace('qq', '163', $fetchContent);
24 //
25 //        $this->show($fetchContent);
26     }
27 }

模板文件:

        <tr>
            <th scope="row">1</th>
            <td>{$user}</td>
            <td>{$mail}</td>
            <td>{$age}</td>
            <td>{$mobile|default="没有号码"}</td>
        </tr>
        <tr>
            <th scope="row">2</th>
            <td>{$people.user}</td>
            <td>{$people.mail}</td>
            <td>{$people.age}</td>
            <td>{$mobile|default="没有号码"}</td>
        </tr>    

assgin一个变量或数组变量,模板中用界定符+变量名显示 没有此变量时输出default。

 

系统变量输出: 模板文件中

<td>{$Think.server.DOCUMENT_ROOT}</td>

 

使用运算符: 模板文件中

<td>{$age-1}</td>
<td>{$people['age']-1}</td>

 

自定义界定符: config.php中

'TMPL_L_DELIM'            =>    '{{',
'TMPL_R_DELIM'            =>    '}}'

 

 

ThinkPHP 模板:使用函数

本课时讲解 ThinkPHP 模板中函数的用法,使用简单函数的几种方式,如变量是否是第一个参数的情形,如何嵌套使用多个函数,当函数逻辑复杂的时候如何回归原生PHP等。

<!-- 函数嵌套,第三个函数用###占位符 在=号后面加参数 -->
<td>{$user|str_replace='k', 'r', ###|strtoupper}</td>   
<!-- 使用php函数,如果是第一个变量不用写。更可以自定义函数,使用更加灵活 --> <td>{$mail|strtoupper}</td>
<!-- 使用原生php --> <td>{:strtoupper(str_replace('qq','php',$mail))}</td>

 

 

ThinkPHP 模板:包含文件和模板替换

本课时讲解 ThinkPHP 模板中包含其他文件的几种方式,以及通过模板替换统一定义一些通用值。

__ROOT__:网站的主页

__APP__:当前应用的URL

__SELF__:当前网页的网址

__PUBLIC__:公共资源目录

 

包含文件:

当前主题default下新建一个Public目录,存放公共模板文件,

Index/index.html:

<include file="Public/head"/>
<include file="Public/nav" home="主页"/>

include包含的用法,可附带参数传递,在被包含的文件中用[参数]来显示:

Public/nav.html:

<li class="active">
      <a href="#">[home]</a>
</li>

此时,访问页面,[home]就显示成“主页”了

 

导入资源文件:

这个有很大用嘛?直接些html也很方便啊...,略~

 

自定义模板替换规则:

设置配置项,config.php:

'TMPL_PARSE_STRING'        =>    array(
            '__CDN__'=>'./Cdn'
        )

 

 

posted @ 2016-01-11 00:42  暖风叔叔  阅读(463)  评论(0编辑  收藏  举报