ホームページ  >  記事  >  php教程  >  Smarty,smarty教程

Smarty,smarty教程

WBOY
WBOYオリジナル
2016-06-13 09:05:27932ブラウズ

Smarty,smarty教程

简述:

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。

简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

优点:

1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。

2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)

3. 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。

4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。

5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

不适合使用Smarty的地方:

1、需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。

2、小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。

(PS:不过为了整个项目的规范,请大家尝试去使用模板引擎。其实习惯了,开发速度会更加快,以上是没有用习惯模板引擎的开发者遇到的问题)

smarty的程序设计部分:

<?<span>php 
</span><span>include_once</span>("./Smarty/Smarty.class.php"); <span>//</span><span>包含smarty类文件 <br /></span>
<span>$smarty</span> = <span>new</span> Smarty();                 <span>//</span><span>建立smarty实例对象$smarty </span>
<span>$smarty</span>->templates("./templates");       <span>//</span><span>设置模板目录 </span>
<span>$smarty</span>->templates_c("./templates_c");   <span>//</span><span>设置编译目录 </span>
<span>$smarty</span>->cache("./cache");               <span>//</span><span>缓存目录 </span>
<span>$smarty</span>->cache_lifetime = 0;             <span>//</span><span>缓存时间 </span>
<span>$smarty</span>->caching = <span>true</span>;                 <span>//</span><span>缓存方式 </span>

<span>$smarty</span>->left_delimiter = "{#"<span>; 
</span><span>$smarty</span>->right_delimiter = "#}"<span>; 
</span><span>$smarty</span>->assign("name", "zaocha");       <span>//</span><span>进行模板变量替换 </span>
<span>$smarty</span>->display("index.htm");  <span>//</span><span>编译并显示位于./templates下的index.htm模板 </span>
?> 

 

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP Array,phparray次の記事:PHP mailer邮件发送