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');
}