视图层以及模板引擎

1,变量的输出

在模板中,如何输出一个变量

(1)如何输出从控制器分配过来的数据

     {$people.name}

    {$people[name]}

(2)在模板中还可以使用系统变量,以$Think. 打头的

1,系统变量:类似于php的预定义的变量,session,cookie,get,post...

获得你的服务器的ip地址

{$Think.server.SERVER_ADDR}

获得服务器的名称

{$Think.server.SERVER_NAME}

获得外部访问的ip地址

{$Think.server.REMOTE_ADDR}

2,如何在模板中获得系统常量()

  (系统常量可以参考 附录-》常量参考)

{$Think.const.__SELF__}

<br/>

{$Think.const.APP_NAME}

3,ThinkPHP内部定义的变量

  <!-- 获得thinkphp内部定义的变量-->

     {$Think.now}

     {$Think.template}

     {$Think.version}

    {$Think.LDELIM}

4,如何在模板文件中获得配置文件中的配置项的值

 <!--获得配置文件中的配置项的值 -->

    {$Think.config.db_name}

   {$Think.config.url_model}

 

 

(1)在ThinkPHP的模板中,如何对变量使用函数调节

 从控制器分配了一个字符串,在模板中,如何截取这个字符串

<br/>

     {$str|substr=###,5,3}

<br/>

{$str|substr=###,11}

在模板中,对变量使用函数,格式为:

{$变量|函数名=这个函数的参数列表(参数1,参数2,参数3)|函数2=参数1,参数2}

###代表变量在参数中的位置

如果当前参数为函数的第一个参数,可以不写

{$str|substr=11}

在模板中如何加载外部文件

 通常在头部或者尾部一些公共的地方,我们把他加载进来,避免每个页面都去写代码

使用 <include file=””/>

<includefile="./App/Tpl/Public/footer.html"/>

file的用法和display()的用法是一样的

display()常用的4中形式:

注意:显示全路径的格式下:

模板文件要有后缀

相对于哪个文件开始,相对于入口文件

导入外部文件

if标签的使用:

   复选框:<input type='checkbox'

<if condition="$valeq 1">checked='true'<elseif condition="$val eq 2"/>checked='true'</if>/>

注意

    <if condition=””>value1

  <elseif condition=”条件”/>value2

  <else/>

  </if>

condition里面要写成比较运算符,eq表示 等于;neq表示不等于

volist和foreach标签非常类似,

只是volist更复杂些,可以遍历更复杂的数组

以当前组的配置文件为主

在控制器中使用C()函数获得系统的配置文件数据

和在模板中通过系统变量$Think.config获得配置文件效果是一样

publicfunction getConf(){

    //在控制其中如何配置文件的数据

    $conf=C('DB_TYPE');

    echo $conf;

}     

ThinkPHP的缓存机制:

(1)数据缓存

概念:我们能不从数据库获得数据尽量不要调用数据库

从数据库获得数据效率是最低的

第一次访问的时候,我可以将数据缓存起来,下次在访问的时候,直接读取的是缓存文件

数据缓存,是将从数据库获得的数据保存到一个介质上,需要的时候直接从这个介质上读取

这些介质包括:

File(保存到文件中),Memcache(内存中,效率特别高)

那么如何将数据保存进去,又如何获得呢?

我们通过ThinkPHP的 Cache类来实现的:

我们通过调用Cahce类的方法获得对象,在通过这个对象来实现不同介质的数据的处理

通过传递不同的参数获得不同的数据处理对象

publicfunction cache(){

    $cache=Cache::getInstance('File');

 // $cache=Cache::getInstance('Db');

 // var_dump($cache);

}

实现缓存数据的增删改查:

//增加

 publicfunction cache(){

    $cache=Cache::getInstance('File');

 // $cache=Cache::getInstance('Db');

 // var_dump($cache);

 //增加缓存数据通过set方法

    $cache->set('passwd','xiaoliang123',30);

注意:set()函数有第三个参数,代表缓存的有效期

    var_dump($cache->set('time',date('Y-m-dH:i:s')));

    var_dump($cache->set('people',array('name'=>'xiaobai','age'=>'23','gender'=>'female')));

 }

//查询

 publicfunction getCache(){

    $cache=Cache::getInstance('File');

    $passwd=$cache->get('passwd');

    $people=$cache->get('people');

    var_dump($people);

 }

//删除

 publicfunction rm(){

    $cache=Cache::getInstance('File');

    $cache->rm('people');

 }

//修改

 publicfunction revise(){

    $cache=Cache::getInstance('File');

    $cache->set('people',array('name'=>'xiaopang','age'=>'22','gender'=>'female'));

 }

//

 publicfunction demo(){

    $cache=Cache::getInstance('File');

    echo $cache->get('time');

 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值