smarty教程系列2--section1

简介:
第二课 smarty基本语法(1)
好了有了上一节课的安装,这节课我们看看smarty的基本语法
我们知道smarty是为了把php和美工制作的模板部分尽量做到分离,这样程序做程序时可以不必等到美工的页面出来之后在做前台这部分程序,
smarty起到了一个中间桥梁的作用,这样需要我们的程序员和美工都要了解smarty的语法,好了我们先看看模板设计者部分(也就是美工这一部分),
我们简单看一个模板test.tpl:

<html>
<head><title><{$title}></title></head>
<body>
我的名字是<{$name}>,我来自<{$city}>.
</body>
</html>


test.php关键部分部分:

$title= "学习smarty基本语法部分";
$name= "xcf007";
$city= "威海";

$tpl->assign( "title",$title);
$tpl->assign( "name",$name);
$tpl->assign( "city",$city);


这里就是简单把数据赋给模板变量.


smarty是编译模板,也就是说它首先根据模板去生成一个php文件,我们运行后会发现在template_c目录生成一个类似
%%45^45E^45E480CD%%test.tpl.php这样名字的文件,这就是smarty根据模板编译生成的一个文件。

其实它就是扫描一下tpl文件,定界符外的直接输出到那个php临时文件里,而定界符内的部分,它会处理
比如 我的名字是<{$name}>,我来自<{$city}>.他就会把<{$name}>替换成<?php echo $name;?>类似这个样子,当然实际中他是$this->_tpl_vars['Name'];我们为了简单起见。


很多php程序员不用smarty时,有的就用include方式。
比如

test.php:

$title= "学习smarty基本语法部分";
$name= "xcf007";
$city= "威海";

include 'index.tpl';

而index.tpl变成了:

<html>
<head><title><?php echo $title;?></title></head>
<body>
我的名字是<?php echo $name;?>,我来自<?php echo $city;?>.
</body>
</html>

好了,这个include方式,大家做小东西不妨试试。

了解smarty的机制,看看语法:
1.smarty注释
看看模板任意如何做注释,因为可能有时候做模板时需要对模板变量做一下注释,
注意不是html注释,那个会出现在将来静态页面源代码中,我们这个是对模板注解的,只想出现在模板文件里。
好了是 定界符带个星号,如<{* 这里是模板注释 *}>

这个注释模板编译时会忽略,不会出现在那个临时的php文件里面。

待续...






 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/156835 ,如需转载请自行联系原作者

相关文章
|
Web App开发 JavaScript 前端开发
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled. Please enable it to continue 这个错误提示表明目标网页要求启用JavaScript才能正常工作,而默认情况下,Selenium WebDriver是启用JavaScript的。如果遇到此错误,请按照以下步骤尝试解决问题
816 0
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled
Nuxt.js框架启动报错: 35 errors, 0 warnings potentially fixable with the `--fix` option.
Nuxt.js框架启动报错: 35 errors, 0 warnings potentially fixable with the `--fix` option.
Nuxt.js框架启动报错: 35 errors, 0 warnings potentially fixable with the `--fix` option.
sublime 打开报错 Error loading syntax file “Packages/HTML/HTML.sublime-syntax“: Apparent recursion withi
卸载步骤 打开sublime工具,按shift+command+p,打开输入框 输入remove package 输入 JavaScriptNext-ES6 Syntax,找到此插件,选中,enter卸载 重启sublime,弹出框消失
607 0
|
JavaScript 前端开发 API
Reading files in JavaScript using the File APIs
Reading files in JavaScript using the File APIs By Eric Bidelman Published: June 18th, 2010Comments: 273 Introduction HTML5 finally provide...
1032 1
|
JavaScript API
[jQuery]25 Highly Useful jQuery Cheat Sheets For Web Developers
1. jQuery 1.2 Cheat-sheet [PNG]   2. jQuery 1.2 Cheat Sheet v1.0 [PDF] 3. jQuery 1.3 Cheatsheet [PDF] 4.
1590 0