Table of Contents
Smarty自带了一些内置函数。 这些内置函数是Smarty模æ�¿å¼•擎的组æˆ�部分。 它们会被编译到PHP代ç �ä¸ï¼Œä»¥å�–得最高的性能。
ä½ ä¸�能建立相å�Œå��称的自定义函数; å�Œæ—¶ä½ 也ä¸�需è¦�修改这些内置函数。
少数的内置函数有assign属性,
�以将函数的结果赋值给模���,而�是输出;
效果如�
{assign}函数。
{assign}å‡½æ•°çš„ç¼©å†™ã€‚ä½ å�¯ä»¥åœ¨æ¨¡æ�¿å†…对å�˜é‡�è¿›è¡Œèµ‹å€¼ï¼Œæˆ–è€…å¯¹æ•°ç»„å…ƒç´ è¿›è¡Œèµ‹å€¼ã€‚
Note
在模æ�¿ä¸è¿›è¡Œèµ‹å€¼ï¼Œä»Žæ ¹æœ¬ä¸Šè®²è¿˜æ˜¯å°†ç¨‹åº�逻辑放到显示层æ�¥è¿›è¡Œäº†ï¼Œåœ¨PHPç«¯è¿›è¡Œæ¤æ“�作会更好。请自行考虑。
下é�¢æ˜¯è¯¥æ ‡ç¾çš„属性:
属性:
| �数�称 | 缩写 | 类型 | 必选�数 | 默认值 | 说明 |
|---|---|---|---|---|---|
| scope | n/a | string | No | n/a | ��的作用范围: 'parent','root' 或 'global' |
å�¯é€‰æ ‡è®°:
| �称 | 说明 |
|---|---|
| nocache | 对赋值æ“�作ä¸�è¿›è¡Œç¼“å˜ |
Example 7.1. 简�赋值
{$name='Bob'}
The value of $name is {$name}.
输出:
The value of $name is Bob.
Example 7.6. 赋值的作用范围
在包�的模�内赋值的��,在包�模�内��。
{include file="sub_template.tpl"}
...
{* display variable assigned in sub_template *}
{$foo}<br>
...
上�的模�是包�了下�的模�sub_template.tpl
...
{* foo will be known also in the including template *}
{$foo="something" scope=parent}
{* bar is assigned only local in the including template *}
{$bar="value"}
...
