Home  >  Article  >  Backend Development  >  Smarty, smarty tutorial_PHP tutorial

Smarty, smarty tutorial_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:55:131024browse

Smarty, smarty tutorial

Brief description:

Smarty is a template engine written in PHP and is currently one of the most famous PHP template engines in the industry. It separates logical code and external content, providing an easy-to-manage and use method to logically separate PHP code that is originally mixed with HTML code.

To put it simply, the purpose is to separate PHP programmers from front-end personnel, so that programmers change the logical content of the program without affecting the page design of the front-end personnel, and front-end personnel re-modify the page without affecting the program. Program logic, which is particularly important in multi-person collaboration projects.

Advantages:

1. Speed: Programs written using Smarty can achieve maximum speed improvements, which is compared to other template engine technologies.

2. Compiled type: A program written in Smarty needs to be compiled into a non-template technology PHP file at runtime. This file uses a mixture of PHP and HTML, and the WEB request will be made directly the next time the template is accessed. Convert to this file without recompiling the template (if the source program is not changed)

3. Caching technology: A caching technology selected by Smarty. It can cache the HTML file that the user finally sees into a static HTML page. When the cache attribute of Smarty is set to true, in Smarty Within the set cachetime period, the user's WEB request is directly converted into this static HTML file, which is equivalent to calling a static HTML file.

4. Plug-in technology: Smarty can customize plug-ins. Plug-ins are actually some custom functions.

5. If/elseif/else/endif can be used in templates. Using judgment statements in template files can very conveniently reformat the template.

Places where Smarty is not suitable:

1. Content that needs to be updated in real time. For example, like stock display, which needs to update data frequently, using smarty for this type of program will slow down template processing.

2. Small projects. For small projects where the artist and programmer are both involved because the project is simple, using Smarty will lose the advantage of PHP's rapid development to a certain extent.

(PS: However, for the sake of standardization of the entire project, please try to use the template engine. In fact, if you get used to it, the development speed will be faster. The above are the problems encountered by developers who are not used to the template engine)

Smarty’s programming part:

<?<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>
?> 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/993267.htmlTechArticleSmarty, a brief description of smarty tutorial: Smarty is a template engine written in PHP, which is currently the most famous in the industry. One of the PHP template engines. It separates logical code and external content, providing...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn