002

来源:互联网 发布:淘宝怎样关店 编辑:程序博客网 时间:2024/04/26 03:14
Smarty程序篇 + 缓存篇 + 过滤器 + smarty如何应用到中级项目
<?php    require_once 'smarty/Smarty.class.php';    $smarty = new Smarty();    //重定义分界符    $smarty->left_delimiter = '{{';    $smarty->right_delimiter = '}}';    $title = 'Smarty模板引擎00';    $content = "Smarty模板引擎是目前世界上最著名的模板引擎";    //模板变量分配函数 assign    $smarty->assign('title',$title);    $smarty->assign('content',$content);    //模板输出显示函数 display    $smarty->display('templates/demo01.html');


/**      * smarty 模板      *     文件夹解析      *         libs/plugins            自定义插件文件夹      *         libs/sysplugins         系统插件文件夹      *         libs/debug.tpl          调试模板      *         libs/Smarty.class.php   Smarty3.0中的核心类文件      *         libs/SmartyBC.class.php 向后兼容类,Smarty2.0版本,      *     编译过程原理      *         用户请求 -> PHP文件 -> Smarty -> 模板文件 -> 编译文件 -> 执行输出      *     smarty安装与配置      *         1、直接将 libs文件夹复制到项目的目录中重命名为smarty      *         2、在Smarty.class.php文件夹的构造函数php文件夹的构造函数__construct函数中找对网站需要定义的目录函数中找对网站需要定义的目录      *         3、根据__construct函数中的设置去定义对应的目录      *     smarty开发流程      *         1、在PHP页面中,包含Smarty.class.php文件到当前页面      *             require_once 'smarty/Smarty.class.php';      *         2、实例化对象         $smarty = new Smartya();      *         3、分配变量到模板文件 $smarty->assign('name',$name);      *         4、显示输出           $smarty->display($file.html);      *     smarty中相关属性和方法      *         1、左右定界符 smarty/Smarty.class.php      *             $left_delimiter     $right_delimiter      *             *自定义定界符:xxx.php文件中      *                 $smarty->left_delimiter = '{{';      *                 $smarty->right_delimiter = '}}';      *         2、相关方法      *             $smarty->assign($name,$value); 分配变量到模板文件      *             $smarty->display($filename);   显示并输出相应的模板文件      *         3、常用路径设置(3.0版本后可自定义路径)xxx.php文件中      *             $smarty->setTemplateDir()   //模板目录      *             $smarty->setCompileDir()    //编译目录      *             $smarty->setConfigDir()     //配置文件      *             $smarty->setCacheDir()      //缓存目录      *    
            *     设计篇( 变量、保留变量与变量调节器 )      *         1、变量      *             1、从PHP中分配的变量    $smarty->assign($name,$value);      *             2、从配置文件中读取变量      *                 {config_load file='config.conf'}    //载入配置文件      *                 调用方式2种      *                     {#变量名称#}      *                     {$smarty.config.变量名}      *             3、在模板文件中创建      *                 方法1 :      *                     分配变量 :{assign var='name' value='value'}      *                     使用变量 :{$name}      *                 方法2 :      *                     {$name = 'zhangSan'}      *         2、smarty中的保留变量      *             $smarty.get.page            相当于$_GET['page']      *             $smarty.post.page           相当于$_POST['page']      *             $smarty.request.username    相当于$_REQUEST['username']      *             $smarty.cookies.username    相当于$_Cookies['username']      *             $smarty.session.id          相当于$_SESSION['id']      *             $smarty.server.SERVER_NAME  相当于$_SERVER['SERVER_NAME']      *             $smarty.env.Path            相当于$_ENV['Path']    (环境变量)      *      *             {$smarty.now}           取得当前时间戳      *             例:{$smarty.now|date_format:’%Y-%m-%d %H:%M:%S’}      *             {$smarty.const} 例:{$smarty.const.__FILE__}      *             {$smarty.capture}       获取capture模板输出      *             {$smarty.config}      *             {$smarty.section}      *             {$smarty.template}      *         3、变量调节器( 变量调节器可以组合使用 )      *             {$var|capitalize}  : 首字母大写      *             {$var|upper} :字符串大写      *             {$var|lower} :字符串小写      *             {$var|cat:var2} :连接字符串      *             {$var|date_format:”%Y%m%d”} :时间格式化      *             {$var|default:”value”} :如果一个变量为空或未定义,那么采用默认值      *             {$var|escape} :编码转义      *             {$var|indent:10:”*”} 字符缩进,后面的参数代表每个缩进字符要放的字符      *             {$var|nl2br} :\n转br      *             {$var|regex_replace:”/[\t\n]/”:””} 正则替换      *             {$var|replace:”aa”:”bb”} 字符替换      *             {$var|string_format:”%d”}:字符串格式化      *             {$var|strip_tags} :去除HTML标签      *      *             {$var|count_characters:true} :字符计数      *             {$var|count_paragraphs} :段落计数      *             {$var|count_sentences} :句子计数      *             {$var|count_words} :计算词数      *             {$var|spacify:”^^”} :在字符之间插入相应字符如^^,插空      *             {$var|strip: “*”} :去除重复空格      *             {$var|truncate:30:”…”} :字符截取,注意,优缺点      *             {$var|wordwrap:30:””} :行宽约      *      *         4、系统内建函数      *             1、capture(作用:捕获一段变量或者内容,复制给var。常用与需要复用的模块内容)      *                 {capture name='var'}      *                     内容      *                 {/capture}      *                 调用:{$smarty.capture.var}      *             2、config_load      *                 使用全局变量      *                     {config_load file='配置文件路径'}      *                     调用方式:{#变量名#}      *                 使用局部变量      *                     {config_load file=’配置文件路径’  section=’节的名称’}      *                     调用方式:{#变量名#}      *      *             3、foreach(采用PHP语法进行遍历)      *             4、foreach(采用Smarty中的语法进行遍历)      *                 {foreach from=数组 key=键 name=名称 item=内容}      *                         ...      *                 {foreachelse}      *                         ...      *                 {/foreach}      *                 foreach——附加属性      *                     $smarty.foreach.name.index      @index   下标0      *                     $smarty.foreach.name.iteration  @iteration 迭代(当前是第几次循环),默认从1开始      *                     $smarty.foreach.name.first     @first     bool 当时第一次该值为真      *                     $smarty.foreach.name.last     @last      bool当时最后一次该值为真      *                     $smarty.foreach.name.show       @show    数据显示 true显示数据false不显示数据      *                     $smarty.foreach.name.total     @total  循环的总次数      *             5、section / sectionelse (循环)      *                 《section主要是进行索引下标为0,并连续(一次递进)的索引型数组的遍历》      *                 {section name=名称 loop=循环数组 start=开始(0) step=步阶(1) max=最大循环次数}      *                     ...      *                 {sectionelse}      *                     ...      *                 {/section}      *             6、include函数      *                 {include file="file" assign="var"}      *             7、include_php(如果是smarty3.0需要载入兼容模板smarty)      *                 {include_php file="file" assign="var" once="true/false"}      *             8、if elseif else {/if}      *             9、literal (标签内的数据将被当做文本处理)      *                 {literal}   ...     {/literal}      *             10、insert(自定义函数)      *                 {insert name='func' assign="var"}      *                 function insert func(){....}      *             11、strip    (功能及应用:去除任何位于 {strip}{/strip} 标记中数据的首尾空格和回车. 这样可以保证模板容易理解且不用担心多余的空格导致问题.)      *                 {strip}     ...     {/strip}      *      *      *         5、系统自定义函数      *             1、{debug}   (功能:主要是开启调试窗口)      *             2、fetch     (功能:载入文件到当前文件,并赋值给var变量)      *                 {fetch file=“file” assign=“var”}      *      *      */
原创粉丝点击