最近学习thinkphp上瘾,出现success找不到模板问题,查阅各大神解决方案,分享一下针对新手如何解决该问题,如有不对的地方请大神指正1.首先修改自己的config文件,添加如下配置代码://设置跳转页面‘TMPL_ACTION_SUCCESS‘ =>‘Public:dispatch_jump‘,‘TMPL_ACTION_ERROR‘ =>‘Public:dispatch_jump‘,注意,如此设置的前提是你需要将你当前模块下的View文件夹下,创建一个public文件夹,并在public文件夹下创建一个dispatch_...
SmartySmarty可以说是我接触PHP这门语言用到的第一个开源框架,当时在Smarty的帮助下,很好地完成了项目的开发,也很好地遵循了MVC的模式。但是到了后来,慢慢地发现,很多人都很熟悉Smarty,但是都不愿意使用它。大概的原因在于:慢。当初以为Smarty很神奇,到后来发现也是通过PHP来实现的。再到后来别人反映使用Smarty会影响性能,所以也就想深入了解一下它的源代码,看下它是怎么实现的,是不是真的会慢?其实,Smarty只是用PHP...
CleverCode发现smarty中调用php内置函数可以通过|实现。|前后没有空格。如果是数组求count需要加上@。1个参数时候:
{{‘param1‘|functionName}}
例如
{{$tmpStr|strlen}}2个参数时候:
{{‘param1‘|functionName:‘param2‘}}
{$tmpStr|substr:‘1‘} 多个参数时候:
{{‘param1‘|functionName:‘param2‘:‘param3‘..}}
{{$tmpStr|substr:‘1‘:‘2‘}}{{‘a‘|str_replace:‘A‘:$tmpStr}}1 marty判断是否为空
如下代码p...
本文详细剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值。详情如下:一、模板中的注释每一个Smarty模板文件,都是通过Web前台语言(xhtml,css和javascript等)结合Smarty引擎的语法开发的。
用到的web前台开发的语言和原来的完全一样,注释也没有变化。
Smarty注释语法是‘左结束符变量值*‘和‘*右结束符变量值‘,在这两个定界符之间的内容都是注释内容,可以包含一行或多行,并且用户浏览网页查看原代码时不会...
自定义函数function.yangA.php页面 采用插件形式调用<?php
/*
* 文件名
* function.函数名.php function.yangA.php
* 声明的函数名规则
* smarty_function_函数名() smarty_function_yangA
* 参数
* 1.数组 array
* 2.smarty
* 模板使用
* <{yangA content="I am Mr.Yang" color="red" size="7" line="6"}>
*
*/
function smarty_function_yangA($args, $smarty){
$str = ‘‘;
...
$smarty->cache-dir="目录名"; //创建缓存目录名$smarty->caching=true; //开启缓存,为false的时候缓存无效$smarty->cache_lifetime=60; //缓存时间,单位是秒二、Smarty缓存的使用与清除$marty->display("cache.tpl",cache_id); //创建带ID的缓存$marty->clear_all_cache(); //清楚所有缓存$marty->clear_cache("index.php"); //清楚index.php中的缓存$marty->clear_cache("index.php,cache_id); //清楚index.php中指定ID的缓存三...
一、Smarty缓存的配置
$smarty->cache_dir = "/caches/"; //缓存目录
$smarty->caching = true; //开启缓存,为flase的时侯缓存无效
$smarty->cache_lifetime = 60; //缓一、Smarty缓存的配置
$smarty->cache_dir = "/caches/"; //缓存目录
$smarty->caching = true; //开启缓存,为flase的时侯缓存无效
$smarty->cache_lifetime = 60; //缓存时间
二、 Smarty缓存的使用和清除
$smarty->display(cache.tpl, cache_id); //创建带ID的...
$smarty->display(index.tpl,$my_cache_id);
此特性可用于对不同的$_GET进行不同的缓存。
二、清除smarty缓存
清除smarty缓存一般有以下几种方式:clear_all_cache();//清除所有缓存clear_cache(index.tpl);//清除指定模板index.tpl的缓存clear_cache(index.tpl,cache_id);//清除指定模板指定id的缓存三、全局缓存
全局缓存就是为整个网站的全部页面都生成缓存页面。设置全局缓存首先我们要操作smarty的配置文件,开启缓存,指定缓...
require(smarty.class.php); $smarty = new smarty; $smarty->caching = true;function smarty_block_dynamic($param, $content, &$smarty) { return $content; } $smarty->register_block(dynamic, smarty_block_dynamic, false);$smarty->display(index.tpl);index.tpl模板文件:page created: {"0"|date_format:"%d %h:%m:%s"}{dynamic}now is: {"0"|date_format:"%d %h:%m:%s"}... do other stuff ...{/dynamic}当重新加载此页面...
可在display中进行设置 $smarty->display("demo.tpl",$_SERVER[REQUEST_URI])来实现一个模版有多个缓存。 既然文件已经有缓存了,我们就可以走缓存文件了,不用循环的执行连接数据库,进行查询了。用smatry中的一个函数进行判断 $smarty->iscached(demo.tpl"",",$_SERVER[REQUEST_URI])默认值为”true“ 这里的模版要和display的一样。 在smarty3和在smarty2中是有区别的 $smarty->is_cached(demo.tpl"",",$_SERVER[REQUEST_URI]) ...
本文详细分析了smarty缓存的用法。分享给大家供大家参考。具体分析如下:
一开始以为smarty只是用来做一些掩饰php代码功能,但是后来才知道还有模板缓存这个强大的功能。
什么是模板缓存呢,就是我们在从数据库里面取出一些数据输出到模板的访问的时候,每一次都对数据库进行访问,但是其实每一次的数据库访问都是相同的,假如网址的流量很大,这种重复的访问完全是没有必要的,对于数据库有很大压力。smarty就提供了缓存技术,用于...
php缓存smarty smarty 启动了缓存,且在cache目录下已经生成了xxx.html文件,为何访问时还请求数据库?
前言 Smarty 是一个出色的PHP模板引擎,它分离了逻辑代码和user interface。 学习和使用Smarty,没有应用到它的缓存技术是一个很大的损失,它可以将用户最终看到的HMTL文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件,给后台服务器减少很多负担。 下载与配置 官方下载:Smarty Download 下载完后,解...
可在display中进行设置 $smarty->display("demo.tpl",$_SERVER[REQUEST_URI])来实现一个模版有多个缓存。 既然文件已经有缓存了,我们就可以走缓存文件了,不用循环的执行连接数据库,进行查询了。用smatry中的一个函数进行判断 $smarty->iscached(demo.tpl"",",$_SERVER[REQUEST_URI])默认值为”true“ 这里的模版要和display的一样。 在smarty3和在smarty2中是有区别的 $smarty->is_cached(demo.tpl"",",$_SERVER[REQUEST_URI]) ...
在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程。检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容。
防止一个模板文件的整篇都被缓存:
index.php文件: 代...