PHP Smarty 模板 自定义插件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Smarty 模板 自定义插件相关的知识,希望对你有一定的参考价值。
插件
是按需载入的。当特定的修饰器,函数,资源等被调用的时候插件才会被载入。
插件目录变量
可以是一个路径的字符串或者是包含多个路径的数组。
安装插件的方法
是直接把插件文件放置在这些目录下,Smarty会自动按需使用。
设定插件目录(新建一个myplugins文件夹)
D:\wamp\www\test\smarty\libs\plugins\
D:\wamp\www\test\smarty\libs\myplugins\
//定义根目录 define(‘ROOT‘, str_replace("\\", "/",dirname(__FILE__))."/"); //注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件 $smarty->setPluginsDir(array( ROOT."/libs/plugins/",//系统默认设置的路径 ROOT."/libs/myplugins/",//自定义的 ));
2.定义插件函数
<?php /* * 1.确定插件位置 $smarty->setPlugsDir(); * 2.文件命名要有规则,才能通过文件名确定这个文件 modifier.函数名.php * 3.函数名要有规则,才能找到这个文件中的这个函数 * 4.参数要有规则 第一个必须是要处理的变量 第二个以后才是要使用的参数 */ function smarty_modifier_mystyle($str,$size="3",$color="pink"){ return "<font color=‘{$color}‘ size=‘{$size}‘>{$str}</font>"; }
3.模板调用插件(修饰器)
<{$sex|mystyle:6:red}>
4.浏览器输出
male x
附上php页面代码
<?php //创建smarty对象 require_once ‘./libs/Smarty.class.php‘; //定义根目录 define(‘ROOT‘, str_replace("\\", "/",dirname(__FILE__))."/"); //实例化Smarty类 $smarty=new Smarty(); //设定定界符 $smarty->left_delimiter="<{"; $smarty->right_delimiter="}>"; //设置为false 定界符号左右可以有空格 $smarty->auto_literal = false; //添加一个插件的目录 //$smarty->setPluginsDir(ROOT."/libs/myplugins/"); //注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件 $smarty->setPluginsDir(array( ROOT."/libs/plugins/",//系统默认设置的路径 ROOT."/libs/myplugins/",//自定义的 )); //获取插件的目录 var_dump($smarty->getPluginsDir()); //变量赋值 $smarty->assign(‘sex‘,‘male x‘); //变量输出 $smarty->display(‘hello.tpl‘); ?>
本文出自 “津沙港湾” 博客,请务必保留此出处http://11410485.blog.51cto.com/11400485/1843672
以上是关于PHP Smarty 模板 自定义插件的主要内容,如果未能解决你的问题,请参考以下文章
PHP Smarty 模板 自定义函数function和块函数block
PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP