插件

是按需载入的。当特定的修饰器,函数,资源等被调用的时候插件才会被载入。

插件目录变量

可以是一个路径的字符串或者是包含多个路径的数组。

安装插件的方法

是直接把插件文件放置在这些目录下,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.参数要有规则第一个必须是要处理的变量第二个以后才是要使用的参数*/functionsmarty_modifier_mystyle($str,$size="3",$color="pink"){return"<fontcolor='{$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=newSmarty();//设定定界符$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','malex');//变量输出$smarty->display('hello.tpl');?>