关于thinkphp3.2.3解析__ROOT__,__PUBLIC__以及在配置文件中自定义的模板常量失败问题

关于thinkphp3.2.3解析__ROOT__,__PUBLIC__以及在配置文件中自定义的模板常量失败问题,第1张

感觉是环境的问题

一般情况下__ROOT__基本就是$_SERVER['>

ThinkPHP系统变量,常量,序列化,反序列化,缓存

变量的输出:

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

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

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

获得服务器的IP地址:{$ThinkserverSERVER_ADDR}

获得外部访问的IP地址:{$ThinkserverREMOTE_ADDR}

获得服务器的名称:{$ThinkserverSERVER_NAME}

获得ThinkPHP内部定义的变量:

获得当前的时间:{$Thinknow}

获得当前工具的版本:{$Thinkversion}

模板的页面:{$Thinktemplate}

模板标签起始符号:{$ThinkLDELIM }

模板标签结束符号:{$ThinkRDELIM }

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

获得当前文件的url :{$Thinkconst__SELF__}

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

{$Thinkconfigdb_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}<=>{$Thinkgetid} 简写形式{$_get}

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

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

局部不缓存:

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

<scripttype="text/JavaScript">

var date=Date();

documentwrite(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);//输出原来的数组格式

}

以上就是关于关于thinkphp3.2.3解析__ROOT__,__PUBLIC__以及在配置文件中自定义的模板常量失败问题全部的内容,包括:关于thinkphp3.2.3解析__ROOT__,__PUBLIC__以及在配置文件中自定义的模板常量失败问题、Thinkphp3.2.3 使用smarty模版后success和error跳转输出找不到模版,已经配置了模版位置和里面的标签、thinkphp 反序列化有什么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10141321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存