Smarty - 经编译的PHP模板引擎

Monte Ohrt <monte at ohrt dot com>
Andrei Zmievski <andrei@php.net>

27-09-2006


目录
前言
I. 开始
1. Smarty是什么?
2. 安装
要求
基本安装
更多设置
II. 模板设计者的Smarty
3. 基本语法
注释
变量
函数
属性
双引号中的变量嵌入
数学
Smarty解析的转义
4. 变量
PHP中赋值的变量
从配置文件中调入的变量
{$smarty}保留变量
5. 变量修饰符
capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap
6. 修饰符的组合
7. 内建函数
{capture}
{config_load}
{foreach},{foreachelse}
{if},{elseif},{else}
{include}
{include_php}
{insert}
{ldelim},{rdelim}
{literal}
{php}
{section},{sectionelse}
{strip}
8. 定制函数
{assign}
{counter}
{cycle}
{debug}
{eval}
{fetch}
{html_checkboxes}
{html_image}
{html_options}
{html_radios}
{html_select_date}
{html_select_time}
{html_table}
{mailto}
{math}
{popup}
{popup_init}
{textformat}
9. 配置文件
10. 调试终端
III. 程序员的Smarty
11. 常量
SMARTY_DIR
SMARTY_CORE_DIR
12. Smarty类变量
$template_dir
$compile_dir
$config_dir
$plugins_dir
$debugging
$debug_tpl
$debugging_ctrl
$autoload_filters
$compile_check
$force_compile
$caching
$cache_dir
$cache_lifetime
$cache_handler_func
$cache_modified_check
$config_overwrite
$config_booleanize
$config_read_hidden
$config_fix_newlines
$default_template_handler_func
$php_handling
$security
$secure_dir
$security_settings
$trusted_dir
$left_delimiter
$right_delimiter
$compiler_class
$request_vars_order
$request_use_auto_globals
$error_reporting
$compile_id
$use_sub_dirs
$default_modifiers
$default_resource_type
13. Smarty类方法
append() -- 在已赋值的数组中增加一个元素
append_by_ref() -- 根据引用增加值
assign() -- 为模板赋值
assign_by_ref() -- 根据引用赋值
clear_all_assign() -- 清空所有已赋值的值
clear_all_cache() -- 清除所有模板缓存
clear_assign() -- 清除一个赋值的变量的值
clear_cache() -- 清除一个特定模板的缓存
clear_compiled_tpl() -- 清除指定模板资源的编译版本
clear_config() -- 清除赋值的配置变量
config_load() --  调用配置文件数据并赋值给模板
display() -- 显示模板
fetch() -- 返回模板输出
get_config_vars() -- 返回指定的调入的配置变量值
get_registered_object() -- 返回一个注册对象的引用
get_template_vars() -- 返回赋值的变量值
is_cached() -- 如果该模板有合理的缓存则返回true
load_filter() -- 调入过滤器插件
register_block() -- 动态注册块函数插件
register_compiler_function() -- 动态注册一个编译器函数插件
register_function() -- 动态注册模板函数插件
register_modifier() -- 动态注册修饰符插件
register_object() -- 注册一个对象以供模板使用
register_outputfilter() -- 动态注册输出过滤器
register_postfilter() -- 动态注册后过滤器
register_prefilter() -- 动态注册前过滤器
register_resource() -- 动态注册资源
trigger_error() -- 输出一个错误信息
template_exists() -- 检查一特定模板是否存在
unregister_block() -- 动态反注册块函数插件
unregister_compiler_function() -- 动态反注册编译器函数
unregister_function -- 动态反注册模板函数插件
unregister_modifier() -- 动态反注册修饰符插件
unregister_object() -- 动态反注册一个对象
unregister_outputfilter() -- 动态反注册一个输出过滤器
unregister_postfilter() -- 动态反注册后过滤器
unregister_prefilter() -- 动态反注册前过滤器
unregister_resource() -- 动态反注册资源插件
14. 缓存
设置缓存
一个页面的多个缓存
缓存组
控制插件输出的可缓存性
15. 高级特性
对象
前过滤器
后过滤器
输出过滤器
缓存处理函数
资源
16. 用插件扩展Smarty
插件的工作原理
命名约定
书写插件
模板函数
修饰符
块函数
编译器函数
前过滤器/后过滤器
输出过滤器
资源
插入
IV. 附录
17. 如何解决问题
Smarty/PHP的错误
18. 技巧
处理空白变量
处理缺省变量
向头模板传递变量标题
日期
WAP/WML
组件化的模板
保护E-mail地址
19. 资源
20. BUGS