|
《Smarty视频教程》将带你了解如何实现代码分离。smarty是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使得二者的工作不会相互影响! 课程播放地址: 该老师讲课风格: 讲课亲切自然,朴实无华,没有矫揉造作,也不刻意渲染,而是娓娓而谈,细细道来,师生之间在一种平等、协作、和谐的气氛下,进行默默的情感交流,将对知识的渴求和探索融于简朴、真实的教学情景之中,学生在静静的思考、默默的首肯中获得知识 本视频中较为难点是Smarty-缓存了: (1)页面缓存:整个页面全局的缓存 需要4个步骤: ①开启缓存 $smarty->caching = true; ②设置缓存的生命周期 $smarty->cache_lifetime = 3600; ③设置缓存目录 $smarty->cache_dir = ‘./cache’; ④设置只有在没有缓存的时候,再从数据库取数据 if(!$smarty->isCached(‘模板名’)){//从数据库取数据并assign赋值}(2)局部不缓存 在整个页面缓存的基础上,页面中会有一些部分是不能缓存、需要及时更新的。比如时间,股票信息等。所以这就需要控制局部不缓存。一共有4种方法:以在php文件中传递给模板一个时间戳为例: <?php
//省略其他代码
$smarty->assign(‘time’,time());
?> ①单标签控制 在模板的标签中使用nocache,就可以控制该标签不缓存,如下: {$time nocache}②nocache标签对 在{nocache}{/nocache}标签对内的区域,都可以实现不缓存 比如 {nocache}{$time1}{$time2}{/nocache}这样,两个标签$time1和$time2都不缓存 ③在assign赋值的时候控制 php中,用assign方法向模板标签赋值的时候,第一个参数是标签名,第二个参数是值,第三个参数是可选的。如果给定第三个参数为true,则表示该标签不缓存 $smarty->assign(‘time’,$time,true); 这样模板中的{$time}标签就是不缓存的 ④通过insert方法得到php中对应函数的返回值 具体语法为:在模板中的{insert name=’xxx’}的标签可以得到php文件中insert_xxx()函数的返回值。 比如:模板文件中的代码: {insert name=’time’}这里还给大家推荐了源码资源的下载: 资源里面给大家分享了视频课件、ppt以及源码 |