smarty变量

1、$template_dir [模板目录变量]
该变量定义默认模板目录的名字。当包含文件时,如果不提供一个源类型(即源地址),那么将会到模板目录中寻找。默认情况下,目录是:“./templates”,也就是说他将会在和php执行脚本相同的目录下寻找模板目录。
2、$compile_dir [编译目录变量]
该变量定位编译模板的目录名字。默认情况下,目录是:“./templates_c”,也就是说他将会在和php执行脚本相同的目录下寻找编译目录。
技巧:该设置必须是一个相对或绝对路径。包含路径不用于写文件。
技巧:不推荐把编译目录放在web服务器根目录下。
3、$config_dir [配置目录变量]
该变量定义用于存放模板配置文件的目录,默认情况下,目录是:“./configs”,也就是说他将会在和php执行脚本相同的目录下寻找配置目录。
技巧:不推荐把编译目录放在web服务器根目录下。
4、$plugins_dir [插件目录变量]
该变量定义Smarty寻找所需插件的目录。默认是在SMARTY目录下的“plugins”目录。如果提供了一个相对路径,Smarty将首先在SMARTY目录下寻找,然后到当前工作目录下寻找,继而到php包含路径中的每个路径中寻找。
5、$debugging [调试变量]
它能启动调试控制台。该控制台是一个javascript窗口,该窗口告诉你被包含的模板和应用于当前模板页面的变量。
6、$debug_tpl调试模板变量
该变量定义用于调试控制台的模板文件名字。默认情况下,其名字为:debug.tpl,位于Smarty目录中。
7、$debugging_ctrl [调试控制变量]
该变量作用是允许以交替的方式启动调试设置。NONE表示不允许交替方式。URL表示当关键词SMARTY_DEBUG出现在QUERY_STRING(查询字符串)中时,针对此脚本的调用,调试被启动。如果$debugging变量是真,则忽略其调试控制变量值。
8、$global_assign [全局配置变量]
定义一组总是隐式地作用于模板引擎的变量列表。这对于使全局变量或服务器变量可用于所有模板是很方便的,因为无需手工配置它们。在全局配置中的每一元素应当要么是一全局变量的名字,要么是一键/值对(键是全局数组名,值是对应该全局数组的变量数组)。$SCRIPT_NAME变量默认属于$HTTP_SERVER_VARS数组。
技巧:服务器变量可以通过$smarty变量获得,如{$smarty.server.SCRIPT_NAME}。参看$smarty变量一节。
9、$undefined [未定义变量]
该变量为Smarty设定没有得到定义的变量的值,默认为空.当前仅用来设定全局配置中的未定义变量为一个默认值.
$autoload_filters [自动加载过滤器变量]
如果你希望在每次模板调用过程中加载过滤器,你可以指定他们使用此变量,Smarty将自动为你加载它们.该变量是一个联合数组,在数组中键是过滤器类型,值是过滤器名字所组成的数组.例如:
 $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
 'output' => array('convert'));
10、$compile_check [编译检查变量]
每次调用PHP应用程序,Smarty 会试着查看自上次编译时间以来,当前模板是否被修改过.如果修改过了,她会重新编译那个模板.如果模板还没有被编译过,她将编译模板而不管编译检查如何设置.默认情况下编译检查这个变量设置为true.一旦一个应用程序投入产品中(模板将不会修改了),就不再需要编译检查这一步了.为了最大性能,确定将$compile_check设为"false".注意:如果设为了"false",虽然模板文件被修改,但你不会看到修改结果,因为模板没有得到重新编译.如果启动了缓存和编译检查,一旦有关模板文件或配置文件被更新,缓存文件将会重建.
11、$force_compile [强迫编译变量]
强迫Smarty每次调用(重新)编译模板时.这项设置不受$compile_check的限制.默认情况下,它是无效的.它对于开发和调试很方便.但它决不能使用于产品环境下.如果启动了缓存,每次将会重新生成缓存文件.
12、$caching [缓存变量]
告诉Smarty是否缓存模板的输出.默认情况下,她设为0,或无效.如果模板产生冗余内容,建议打开缓存.这样有利于获得良好的性能增益.你也可以为同一模板设有多个缓存.当值为1或2时启动缓存.1告诉Smarty 使用当前的$cache_lifetime变量判断缓存是否过期.2告诉 Smarty 使用生成缓存时的cache_lifetime值.用这种方式你正好可以在获取模板之前设置缓存生存时间,以便较精确地控制缓存何时失效.
如果启动了编译检查,一旦任何的模板文件或配置文件(有关缓存部分的配置文件)被修改,缓存的内容将会重新生成.如果启动了强迫编译,缓存的内容将总会重新生成.
13、$cache_dir [缓存目录变量]
这是存放模板缓存的目录名.默认情况下,它是:"./cache",也就是说你可以在和php执行脚本相同目录下寻找缓存目录.你也可以用你自己的自定义缓存处理函数来控制缓存文件,它将会忽略这项设置.
技巧:这项设置必须是一个相对或绝对路径.包含路径不用于写文件.
技巧:这项设置必须是一个相对或绝对路径.包含路径不用于写文件.
14、$cache_lifetime [缓存生存时间变量]
该变量定义模板缓存有效时间段的长度(单位秒),一旦这个时间失效,则缓存将会重新生成.如果要想实现所有效果,$caching必须因$cache_lifetime需要而设为"true".值为-1时,将强迫缓存永不过期.0值将导致缓存总是重新生成(仅有利于测试,一个更有效的使缓存无效的方法是设置$caching = false.)
如果启动了强迫编译,则缓存文件每次将会重新生成.要想有效地停止缓存,你可以利用clear_all_cache() 函数清除所有的缓存文件,或者利用clear_cache() 函数清除个别文件(或文件组).
技巧:如果你想给某些模板设定它们自己的缓存生存时间,你可以在调用display()或fetch()函数之前,通过设置$caching = 2,然后设置$cache_lifetime为一个唯一值来实现.
15、$cache_handler_func [缓存处理函数变量]
你可以提供一个自定义函数来处理缓存文件,而不是通过变量$cache_dir使用内置方法.
16、$cache_modified_check [缓存修正检查变量]
如果设置该变量为真,Smarty将分析客户端发送来的If-Modified-Since头信息.如果缓存文件时间戳自上次访问以来没有改变,则发送一个"304 Not Modified"头,而不是缓存文件内容.这种方式仅工作于没有 {insert} 标记的缓存内容.
17、$config_overwrite [配置覆盖变量]
如果设该变量为真,则从配置文件中读取出来的变量将会互相覆盖.否则,变量将会放到一个数组中.如果你想把配置文件中的数据存储到数组里,这种方式是很有用的,仅仅列出每个元素多次就可以了.默认情况下,设为真.
18、$config_booleanize [配置布尔化变量]
如果该变量设为真,配置文件中的on/true/yes 和 off/false/no值会自动转化为布尔值.这样的话,你就可以在模板中像{if #foobar#} ... {/if}这样使用这些值了.如果foobar为on, true 或 yes,那么 {if}语句就会执行了.默认情况下,该变量值为真.
19、$config_read_hidden [配置读取隐藏变量]
如果设为真,在配置文件中的隐藏节块可以从模版中读取出来.典型的你会设为假,这样你可以在配置文件里存放敏感数据,例如数据库参数,而不用担心模版会调用他们.默认情况下,该变量设为假.
20、$config_fix_newlines [配置固定换行符变量]
如果该变量设为真,那么在配置文件中的mac 和 dos 换行符(\r and \r\n)在语法解析时将会转换为\n. 默认情况下,该变量为真.
21、$default_template_handle r_func [默认模板处理函数变量]
该函数在模板不能从它的源目录下获取时会得到调用.
22、$php_handling [PHP处理变量]
该变量告诉Smarty怎样处理嵌入到模版中的php代码.有四种可能的设置,默认为SMARTY_PHP_PASSTHRU.注意:改变量的设置不会影响模板里面{php}{/php}标记中的php代码.
原样输出标记.
作为html实体引用标记
从模板中移出标记.
将作为php代码执行标记.
极度不赞成将php代码嵌入到模板中.
23、$security [安全变量]
安全变量要么是真,要么是假.默认为假.当你不信任模板中的可编辑部分(例如通过ftp方式上传编辑的),并想通过模板语言减小系统非安全的风险时,安全变量设为真比较适合.设为真会将下面的规则强加于模板语言中,除非特别地用$security_settings覆盖.
如果变量$php_handling设为了SMARTY_PHP_ALLOW,则会隐式地被修改成SMARTY_PHP_PASSTHRU
PHP函数在IF语句中是不允许的,除了在$security_settings中另行指出.
模板仅可以包含于$secure_dir数组列出的目录中.
本地文件仅可以用{fetch}获取于$secure_dir数组列出的目录中.
不允许有{php}{/php}标记.
PHP函数不允许作为修正器,除了在$security_settings中指出.
25、$secure_dir [安全目录变量]
这是一个与安全有关的本地目录数组变量.当启动安全变量时{include} 和 {fetch}会用到此数组变量.
$security_settings [安全配置变量]
用于当启动安全变量时覆盖或另行指定安全配置.有以下几种可能的配置:
PHP_HANDLING - 真或假.如果真,则不检查$php_handling的配置.
IF_FUNCS - 这是一个可允许包含在if语句中的php函数名数组.
INCLUDE_ANY - 真或假.如果真,可以从文件系统中包含任何模板,而不管$secure_dir目录设置如何.
PHP_TAGS - 真或假.如果真,{php}{/php}允许在模板中存在.
MODIFIER_FUNCS - 这是一个可用作修正器的php函数名数组.
26、$trusted_dir [信任目录变量]
信任目录变量仅用在$security启动之后.这是一个所有建立信任的目录数组变量.你可以将php脚本放到这些信任目录中,这些脚本会直接在模板里以{include_php}标记得到执行.
27、$left_delimiter [左结束符变量]
用于模板语言中,默认是"{".
28、$right_delimiter [右结束符变量]
用于模板语言中,默认是"}".
29、$compiler_class [编译类变量]
指定Smarty用来编译模板的编译类名.默认为:'Smarty_Compiler'.仅适合于高级用户.
30、$request_vars_order [变量顺序变量]
请求变量的顺序在这里配置,类似于php.ini中的变量顺序.
31、$request_use_auto_globals [自动全局变量]
指定Smarty是否使用php的$HTTP_*_VARS[]数组变量(默认$request_use_auto_globals=false)或$_*[]数组($request_use_auto_globals=true)变量.这对使用了{$smarty.request.*}, {$smarty.get.*}等标记的模板有影响.值得注意的是:如果设置$request_use_auto_globals为真,variable.request.vars.order就无效了但php的gpc_order配置值还有作用.
32、$compile_id [编译ID变量]
永久的编译鉴别号.作为一个可选办法将相同的编译号传递给每个函数调用,你可以设置这个编译id,随后此id将会被隐含地使用.
33、$use_sub_dirs [子目录变量]
如果你的php环境不允许Smarty创建子目录,则设此变量为假.子目录非常有用,所以尽可能的使用他们.
34、$default_modifiers [默认修正器变量]
这是一个修正器数组变量,这些修正器隐式地作用于模板中的每个变量.例如:针对HTML,用数组('escape:"htmlall"')默认地忽略每个变量;为了使一个变量免除于默认修正器,请将参数为"nodefaults"的特殊"smarty"修正器作用于它,例如:{$var|smarty:nodefaults}.
35、$default_resource_type [默认源类型变量]
该变量告诉smarty隐式地使用什么源类型.默认值为'file',也就是说,$smarty->display('index.tpl');和and $smarty->display('file:index.tpl');从意思上是一样的.祥见resource一章。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值