Smarty 学习随记!

2016-01-29 14:15 5 1 收藏

Smarty 学习随记!,Smarty 学习随记!

【 tulaoshi.com - PHP 】

我的个人建议,下边的文字都是SMARTY里经常用到的一些基础概念的东西! 写的非常细致,而且接近中国人的思维了,都是工作中做的总结. 但是更全的资料到SMARTY的官方论坛上去看吧!!!!!
http://www.phpinsider.com/smarty-forum/
虽然是全英文的,但是只要你能看个大概其,相信收益将会非常大,而且上边的管理员也是非常热情,可是因为是美国时间,所以一般他们活跃的时间是半夜3,4点!!



虽然很简单的东西,但是还是共享一下!!

什么是smarty及其安装

Smarty是一个php模板引擎,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.

Smarty要求web服务器运行php4.0.6和以上版本.

smarty安装需要smarty库文件。可以去官方网站http://smarty.php.net下载。

网上讲了很多安装的教程,但是我都没有成功,所以直接把整个目录名改为smarty直接复制到了网站所在的目录下,然后打开
http://网站路径/smarty/demo/index.php,显示正常,应该算是安装成功了。


基本语法

所有的smarty标签都被加上了定界符.在smarty里,所有定界符以外的内容都是静态的,当smarty遇到了模板标签,将尝试解释他们,然后再以恰当的方式输出.

默认情况下是 {和},但它们是可定制的.定制方法是:
$smarty-left_delimiter = '<!--{';
$smarty-right_delimiter = '}--';

1.注释

模板注释被*号包围,例如 {* this is a comment *}
smarty注释将不被输出.它是模板内在的注释.

2.变量
模板变量以$开头,可以包含数字,字母和下划线。
config_file变量是例外要用#变量名#的方法引用

3.函数
smarty标签输出一个变量或者调用某种函数.
在定界符内函数和其属性将被处理和输出.例如:
{funcname attr1="val" attr2="val"}.
funcname为函数的名称比如:include等,attr1,attr2为属性名,val为属性相应的值。

在模板里无论是内建函数还是自定义函数都有相同的语法.
内建函数将在smarty内部工作,例如 {if}, {section} 和{strip}.他们不能被修改.
自定义函数通过插件机制起作用,它们是附加函数,可以随意修改,自行添加.
例如 {html_options} and {html_select_date}

4.属性
静态数值不需要加引号,布尔值(真或假)也不需要引号,可以是true,on,yes或者false,off,no. 但是字符串例外.变量同样被用到了,它们也不能加引号.

5.在字符串中插入变量
只能识别数字,字母,下划线和[]的组合,如果为复杂的形式需要用``将变量隔起来。比如{func var="test $foo.bar test"} 中只能识别变量$foo,要识别$foo.bar,需要写成{func var="test `$foo.bar` test"}的格式。

6.一些保留字的显示方法
在模板中如果要将smarty的一些保留字作为语言的内容显示出来,比如显示分隔符,默认为{}的方法是: {ldelim},{rdelim} 或者{$smarty.ldelim},{$smarty.rdelim} 或者可以把{}放在{literal} .. {/literal} 中间输出。

smarty的保留变量

{$smarty}保留变量可以被用于访问一些特殊的模板变量.
以下是全部.

页面请求变量
以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path, {$smarty.request.username}取得get/post/cookies/server/env的复合变量。

{$smarty.now}变量用于访问当前时间戳.
可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}
你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}
可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.

{$smarty.config}
{$smarty}变量 可以访问已经加载的config变量.
例如 {$smarty.config.foo}就可以表示 {#foo#}.

{$smarty.section}, {$smarty.foreach}
{$smarty} 变量可以访问'section'和'foreach'循环的属性.

{$smarty.template}
显示当前被处理的模板的名字.

{$smarty.version}
显示smarty模板的版本

{$smarty.ldelim}
显示左分隔符

{$smarty.rdelim}
显示右分隔符

[next]变量调节器
变量调节器用于变量,自定义函数和字

来源:http://www.tulaoshi.com/n/20160129/1492885.html

延伸阅读
学习篇 了解了一些最基本的操作命令后,我们再来学习如何创建一个数据库和数据库表。 1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql| | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql CREATE DATABASE abc...
标签: Web开发
今天看了XMLHttpRequest 的属性: onreadystatechange //当改变状态时都会触发这个事件,通常会调用 JavaScript 函数. //状态有5个值:  0:未初始化.   1:正在加载.   2:已加载.    3:交互中.   4:完成. responseTest //服务器的响应,表示为一个串. responseXML  //服务器的响应,...
标签: 儿童 学习 小孩
儿童学习问题与学习不能 学习是人和动物在生活中获得个体行为经验的过程。我们通常所说的学习”是指人类的学习。学生的学习是人类学习的一种特殊形式,是在教师的组织领导下,有目的、有计划、有组织的进行。因此,与学生学习有关的各个环节:教师、学生、家庭、社会环境等都对学习及其过程有影响。就学生本人而言,主...
什么是儿童学习问题与学习障碍? 学生的学习是人类学习的一种特殊形式。就学生本人而言,学习能力是决定成绩的关键因素,即包括对知识的理解、组织、储存及回忆等。当儿童在获得知识上发生困难时,统称“学习问题”。 学习障碍是学习问题中的一种,是指智力正常或接近正常的儿童在阅读、书写、听力、语言表达、数学运算能力方面...
学习障碍是什么 学习障碍是什么?相信大部分朋友对此都没有较多的了解,但是却都对其十分关注。学习障碍,关系着每一位家长的神经,因为对于每一个家庭来说,孩子的健康与学习都是十分重要的。学习障碍不仅是一种疾病更是每一位爸爸妈妈的心底担忧。那么什么是学习障碍呢? 学习障碍,指统称因神经心理功能异常而显现出注意、记忆、理解、推理...

经验教程

455

收藏

43

精华推荐

论学习

论学习

8小8石头

快乐学习法、有利孩子学习

快乐学习法、有利孩子学习

baby夏季飘雪

梦见学习

梦见学习

静静9033

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部