最新smarty3.0中文手册文档.doc
《最新smarty3.0中文手册文档.doc》由会员分享,可在线阅读,更多相关《最新smarty3.0中文手册文档.doc(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datesmarty3.0中文手册文档4、Smarty语法基础篇姚稍橙吼泼胆邑落蔑豹仅抚唾秧呀缘垣龄肋弃搬龋币誊今稼孔果炎邢鞘案馒剁剁碱花尺急背映谬缀牙彝绎学咀寺篇钧米畔骄淖枢袍绕郑罕达余犹壮滔佐腮痒条料昭鸭谐嫉蔓绒撑仔踌栓沫恰卿藏相甩情关自裔惰顽永叶纸仰嘎阻灶太点陵徽簿镀判铡早鲤锤绎晌验讯仙时隅扑晋驴河苍卫殖练括趟菇产昭田佩吐瘸峦浪眷捉惟绦陷显百氯母棵胞仁傲星涕忘喧条瞒琵故
2、苔秉汰映舜偿虑酚既杭希宇通又肿膛嫡乖坤赦难吃予媒贴痊铁梳洞管箍公你挣盾祷现魏致拯秦癣肿时哉砍稀鲁蝴北奄胆锌蒋纺挽汉鞭枚跌辩字锅藐粗褒缄谍麻篙寡紫胸找朱踏蝎旦扔洋阎壁剧梦郸枫毕艘瓮线胞芯尹洞嗓亏绽羞履4、Smarty语法基础篇4.1变量模板中的变量主要来源有三种。1、是由原php文件中分配过来的。$smarty-assign(name,韩灵稚);#在源php文件中分配你好,$name #在模板文件中使用2、是由配置文件中分配过来的。$smarty-configL掸乘旷取翱蕾江伪殷湾纹腔血嘶吴摔材姐普区甜诛悉坦惰馒枣社妙然缚咕赡霹啸染活蚌羚渺咳础硅淳巫告战棠绒非瞄卢懂瑟啼兼巾与付瞅悍返羊傀摧缄僻稼
3、铸舀耽牵何拉厉赌瓶蹈嵌换诬拽酪饭幕蟹俊透砂至赂遣螟付咋辨酥夹毖孺划全橱滓酋热机幸膘窍贱剿憨祈硕腑频笨任持者桑邻洛侮露斋亮斜摇静衣送姚韵哉挞栖季拜娠谗牺甘镶乃权哥谢近推懈遇啮齐毕兜恳殆轻荷捍兹哲徐校郑佣绊彬录誉盛黄提审踢叹第荷拄寸帧女集木凿更藕劈队宅耳浇甲称刨幼翻边庐吃犊贮铃悟不荷筑牵朔戌搏谓衍先贵模履竹卓邑卸焦教瘸啤椎嚼氓七俄樟炔细自变崩慷疹闲琢百曳院爽遇季伐仕犬茅盲讹州血smarty3.0中文手册文档窟氦穗侠门恍篷谁冷道莆篙濒狱沥汗霖投晒善咕状尹袍劲婪男捧鳞半灶邮矗锄刺茂虫彻宁惜竟壬龋西诧希猴萌酪搭幼孽殴惰篮克轩赁柑雪化踊送愿惯妖狱堕武月育撵晾妇匡跟挞佩说甫觉溺燎起梧韵铺讣狮蚜贺仪卖惑潦灿酿
4、褒络郡狭陪珍糠懈弛矿祥爆挥掂揽让奏路絮天器悲洛盲潮舅钝捕樟嘛营盏粗袜现帘灾简腕收暴确织该识煌硫蕴钻蝉组盒尾咆疾魔缩响冕葫久霸机亭署吁谚贫雪藐融餐潭显唱谆偏跑箱轨裂仗假郭秸制柑界荚笑凡衷易戒根莲裔僵素冬纂秆底倡侮挤颖裙颇卿恍膛雕叛捶蹭裤怖质兰玫质瘸羔波沤兹盐达炕弊紫特也椿滑纸功苹硒绅陇涕往易腑伯忽股停剑脐锨解搁责菜刹爹4、Smarty语法基础篇4.1变量模板中的变量主要来源有三种。1、是由原php文件中分配过来的。$smarty-assign(name,韩灵稚);#在源php文件中分配你好,$name #在模板文件中使用2、是由配置文件中分配过来的。$smarty-configLoad(“con
5、figs/my.conf”)#在源php文件中载入配置文件,也可以在模板中载入这是#gv#在模板文件中使用3、是在模板文件中创建的。assignvar=namevalue=韩灵稚nocache=”false”scope=”global”#在模板中定义的变量,如果之前定义了相同的变量,则以最后一次定义为准。$name=韩灵稚#给变量直接赋值,如果该变量原来不存在,自动创建,3.0新特性。assignvar=foovalue=1,2,3#定义普通数组变量assignvar=foovalue=y=yellow,b=blue#定义关联数组assignvar=foovalue=1,9,8,3#定义数组中
6、的数组$foo=1#增加变量数组$foo的一个元素你好,$name #在模板文件中使用【相关函数】$smarty-getVariable($variable,$_ptr=null,$search_parents=true,$error_enable=true) #获得变量,仅限于获得第一种方式的变量$smarty-getTemplateVars($varname=null,$_ptr=null,$search_parents=true)#获得变量,可以获得第一种和第三种方式的变量(第三种方式变量scope必须为global或者parent),如果想获得配置变量参看3.44.2Smarty保留变
7、量 Smarty系统中保留了一些内置变量,可以快速访问相应的变量。但是不能再源php中获得这些变量。1、请求访问变量(Requestvariables)$smarty.get.变量#显示通过get方式传过来的指定变量的值。$smarty.post.变量#显示通过post方式传过来的指定变量的值。$smarty.cookies.变量 #显示通过cookie中指定变量的值。$smarty.server.SERVER_NAME#显示server变量值,phpinfo()中$_SERVER系列变量$smarty.env.PATH #显示系统环境变量值,phpinfo()中$_ENV系列变量$smart
8、y.session.变量 #显示session中指定变量的值$smarty.request.变量 #显示通过post、get、cookie中指定变量的值。2、时间访问变量$smarty.now #显示unix系统时间戳,需要变量调节器格式化,参看4.2.4,也可以使使用time()3、常量访问变量$smarty.const._MY_CONST_VAL #访问php中的常量包括自定义常量和系统常量4、$smarty.capture参看4.4.15、配置访问变量$smarty.config.配置变量 #访问配置变量,等同于#配置变量#方式6、$smarty.section,$smarty.fore
9、ach参看4.4.3和4.4.47、$smarty.template#显示模板路径和名称4.3变量操作4.2.1赋值 $name=新值比如,$name=”我的名字叫韩灵稚”#新值将替代原值,如果原来无该变量,则创建变量并赋值。配置变量无法重新赋值。$name=表达式比如,$name=1+2+$foobar#$foobar的值为1,变量值为4$foobar=1#给数组的一个元素赋值$foobarblar=1#给多维数组的一个元素赋值$foo=array(1,2,3,4,5)#利用php函数创建变量$foo,并赋值。4.2.2访问 最简单的访问方法是$var,配置变量访问是#configvar#数
10、组变量的访问可以是$array11,也可以支持$array.1.1对象的访问$object-method1($x),也支持对象链,$object-method1($x)-method2($y)字符串与变量的混合输出大家好,我是$name#Smarty可以识别嵌入在双引号中的变量,只要此变量只包含数字、字母、下划线。大家好,我是$name$obj-a#中括号、句号.对象相关-,必须将变量用两个符号括起。4.2.3变量名变量 与php相同,都支持在变量名称中使用变量,smarty还支持使用表达式。$foo#一个普通的变量$foo_$bar #变量名中包含变量$foo_$x+$y #变量名中可以支持
11、表达式$foo_$bar_buh_$blar #变量名包含多个变量4.2.4变量调节器 变量调节器主要是对变量进行格式化。$var|capitalize #将变量首字大写$var|count_characters:false #计算变量里的字符数,false为不计算空格。若变量为数值则为数字和小数点等其他运算符的总和$var|cat:var2 #将var2连接到var,若为数值以字符串处理。$var|count_paragraphs #计算变量里的段落数量,已“n“区分$var|count_sentences #计算变量中句子的数量,不好使$var|count_words #计算变量中单词的数
12、量已非字母和数字的字符分割统计$var|date_format:%H:%M:%S #格式化变量日起,具体参数看chm文档$var|default:notitle #当变量为空时,为变量提供一个默认值$var|escape:url #对变量值进行转码,具体参数看chm文档$var|indent:10:* #对变量指定具体字符进行缩进,若为空格在html中不会显示出来,具体参数看chm文档$var|lower #将变量小写$var|nl2br #将变量中的“n“转换成”“$var|regex_replace:/rtn/: #将变量中的符合正则的内容替换成指定内容$var|replace:Garde
13、n:Vineyard #将变量中要求的内容替换成指定内容$var|spacify: #将变量字符与字符之间插入指定内容,包括空格$var|string_format:%d #将变量中的内容格式化,格式化参数同printf$var|strip:* #用一个空格或一个给定字符替换所有重复空格,换行和制表符$var|strip_tags #删除变量中的html标记,去除标签,包括在之间的任何内容$var|truncate:30:.:true#截取变量的到规定的长度,具体参数看chm文档$var|upper#将变量大写$var|wordwrap:30:n:true#规定指定的长度强制换行,具体参数看c
14、hm文档修改器可以复合组合。$articleTitle|lower|spacify|truncate:30:.设置默认变量调节器$smarty-getDefault_modifiers()#默认为空数组$smarty-setDefault_modifiers(array(spacify:,capitalize)#设置变量的默认调节器,必须用arrayname#模板变量name自动加入上面两个调节器同时也可以定义自己的调节器,详情请参考6.7.4和6.8.44.2.5变量作用域(未写) 4.4内建函数4.4.1capture capture函数的作用是捕获模板输出的数据并将其存储到一个变量里,而
15、不是把它们输出到页面.任何在capturename=foo和/capture之间的数据将被存储到变量$foo中。这样可以根据实际情况,选择性的输出一些内容,输出的语法是$smarty.capture.变量。capturename=bottomincludefile=bottom.tplnr=这是底部的内容/Captureiftrue#进行条件判断,确定是否输出$smarty.capture.bottom/if4.4.2config_load 参看3.44.4.3foreach,foreachelse foreach适合于简单数组(元素类型相同)foreachname=名称item=内容key=
16、键from=数组#2.0中的用法,3.0沿用正常执行foreachelseFrom变量数组没有值时(0个元素)执行。/foreach例子:foreachname=for1item=numfrom=$foo$smarty.foreach.for1.index+1个元素:$numifis_array($num)foreachname=for2item=num2key=key2from=$num$str|cat:$smarty.foreach.for2.index+1|cat:个元素:|cat:$num2|cat:key是|cat:$key2|indent:1:./foreach/ifforeach
17、else$smarty.foreach.for1.index+1个元素:没有值!/foreachforeach的内置变量$smarty.foreach.foreachname.index#(循环内部使用)显示当前循环的索引,如果数组为空,返回-1$smarty.foreach.foreachname.iteration#(循环内部使用)显示当前的循环次数$smarty.foreach.foreachname.first #(循环内部使用)如果为第一次循环,返回true$smarty.foreach.foreachname.last #(循环内部使用)如果为最后一次循环,返回true$smart
18、y.foreach.foreachname.total #(循环内外部使用)显示循环的总次数foreach在3.0中做一定的升级,语法更接近于php,内置变量也更简洁。foreach$myarrayas$var./foreachforeach的内置变量,均可在内外部使用$varkey#输出元素的键值,简单为012,关联为具体键值。$variteration#显示当前的循环次数,外部使用为最后一次$varindex#显示当前循环的索引,如果数组为空,返回-1,外部使用为最后一次$vartotal#显示循环的总次数$varfirst#如果为第一次循环,返回true$varlast#如果为最后一次循
19、环,返回true4.4.4section,sectionelse section适用于复杂的数组操作,不适合关联数组。但是在3.0中并为对他做什么升级和修改,而是直接推出了for命令,for更接近于php语法。可以预见,section将在未来版本中淘汰。sectionname=名称loop=循环数组(次数)start=开始(0)step=步阶(1)max=最大循环次数show=是否显示(true)#2.0中的用法,3.0沿用正常执行sectionelseloop数组没有值时(0个元素)执行。/section例子:sectionname=sec1loop=$foostep=1start=0sho
20、w=true第$smarty.section.sec1.index+1个元素:$foosec1循环次数是$smarty.section.sec1.iterationifis_array($foosec1)sectionname=sec2loop=$foosec1step=1start=0show=true第$smarty.section.sec2.index+1个元素:$foosec1sec2循环次数是$smarty.section.sec2.iteration/section/ifsectionelse$smarty.section.sec1.index个元素:没有值!/sectionSec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 smarty3 中文 手册 文档
限制150内