zoukankan      html  css  js  c++  java
  • ThinkPHP系统变量,常量,序列化,反序列化,缓存

    变量的输出:

    在模板中输出一个变量有两种形式:{$list.name} {$list[‘name’]}

    在模板中可以使用系统变量,以$Think.开头

       系统变量:(举例选几个)

       获得服务器的IP地址:{$Think.server.SERVER_ADDR}

       获得外部访问的IP地址:{$Think.server.REMOTE_ADDR}

       获得服务器的名称:{$Think.server.SERVER_NAME}

       获得ThinkPHP内部定义的变量

    获得当前的时间:{$Think.now}

    获得当前工具的版本:{$Think.version}

    模板的页面:{$Think.template}

    模板标签起始符号:{$Think.LDELIM }

    模板标签结束符号:{$Think.RDELIM }

       系统常量:(举例选几个)

       获得当前文件的url :{$Think.const.__SELF__}

    获得模板配置文件的配置项的值:

    {$Think.config.db_name}

    在ThinkPHP模板中,对变量使用函数调节:

     从控制器分配了一个字符串,在模板中,如何截取这个字符串:{$str|substr=###,5,3} 如果当前参数为函数的第一个参数,可以不写###

    在模板中加载外部文件:

    使用<include file=””> file( )和display( )的用法一样。

    If标签的使用:<if condition=”条件1”>value1<elseifcondition=”条件2”>value2<else/>value3</if>   condition里面写成比较运算符  eq表示等于 neq表示不等于

    修改模板引擎的界定符

    在配置文件中,通过TMPL_L_DELIM修改

    ‘TMPL_L_DELIM’=>’<{’  //修改左定界符

    ‘TMPL_R_DELIM’=>’<{’  //修改右定界符

    修改模板引擎:

    'TMPL_ENGINE_TYPE'=>'Smarty'

    在分组中添加配置文件,在控制器中使用直接调用C函数。

    ThinkPHP的缓存机制:

      数据缓存:就是讲数据库中获得的数据保存在一个介质上,需要时直接在这个介质上读取。

    我们需要通过ThinkPHP中的cache类来实现,通过这个类的方法获得对象,在通过这个对象来实现不同介质的数据处理。

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

      $cache=Cache::getInstance(‘File’);

    页面缓存:

    1.    开启缓存

    在配置文件中开启缓存,开启缓存有一定的规则(数组格式)。

    ‘HTML_CACHE_ON’=> true,

    ‘HTML_CACHE_RULES’=>array(

      //需要缓存的动作名=>缓存的名称,缓存的生存周期

    ‘show’=>array(‘{:module}_{:action}’,1000),

    )

    {:module}代表当前的控制器名

    {:action}代表当前的动作名(例如:show)

    {$_GET}<=>{$Think.get.id} 简写形式{$_get}

    通过地址栏传递一个id参数,可以实现单页面多缓存

    (通常是前台有缓存,后台不缓存)

    局部不缓存:

    在TP框架中,局部不缓存可以通过js , ajax , jquery实现局部不缓存

    <scripttype="text/javascript">

    var date=Date();

    document.write(date);

    </script>

    工厂模式:通过传递不同参数获得不同的对象

    单例模式:这个类只获得一个对象,再调用这个对象方法

    缓存的增删改查

    增:$cache->set(‘password’,’123’,30) 第三个参数是缓存的有效期

    删:rm( ) 改:set( ) 查:get( )

    序列化(  serialize( ) ):保存数据的时候,将数组或者对象序列化成字符串,但是这个字符串保存了数组或者对象之前的结构和内容,当我们需要获得这个数据的时候,在将序列化的字符串反序列化成我们需要的数组或对象(unserialize( ))

    例子:

    public functionxv(){

               //序列化与反序列化

           $a=array('name'=>'xiaoming');

           $x=serialize($a);

           echo $x; //输出结果为:a:1:{s:4:"name";s:8:"xiaoming";}

           echo "<br/>";

           $f=unserialize($x);

           print_r($f);//输出原来的数组格式

          }

  • 相关阅读:
    JS统计还可以输入多少字数,用于向输入者提示信息
    php系统 骑士cms(74cms)个人版 整合UC
    win7下使用wamp server 使用PHP5.3配置Zend guard loader 注意事项,失败
    linux crontab定时任务运行shell脚本(shell执行sql文件)
    POJ 1179 Polygon
    POJ 1189 钉子和小球
    HDU 3788 ZOJ问题
    POJ 1191 棋盘分割【区间类DP】
    POJ 1338 Ugly Numbers
    假期学习第一步之......学习堆排序
  • 原文地址:https://www.cnblogs.com/whoismagin/p/5709296.html
Copyright © 2011-2022 走看看