RSS
热门关键字:  php  lighttpd  找回密码  密码找回  client
当前位置 :| 主页>技术资料>PHP>

Smarty高级特性 for register_function

来源:phpsoho.com 作者:无喱头 时间:2008-08-08 Tag:smarty   register_function   点击:

前言:
很久不用smarty了,因为大多数项目都是比较轻量型的。前段时间笔者接了个还算可以的项目,下面有几个程序员,与一个美工组为项目团队。为了做快速的布署应用,也为了小组成员能形成一个统一的view层的控制,选择了smarty。发现smarty果然还是那么的强大,那么的很黄很暴力。
作者:无喱头

故事背景:
小张是个很漂亮的美工MM,与无喱头搭档已经很多年。请不要误解,无喱头是有老婆女儿的,他们之前没有任何的暧昧关系,仅仅是同事,或者是上下级。
在两人的多年合作过程中,在很多地方,已经形成了一种默契。在很多时候,喱头提供封装好的php函数,然后通过一些技术上的修改,可以直接使用小张在模板里引入php函数,这样可以很方便的把模板切成很多小块,便于维护。并且由于可以自定义一些关键字,小张可能很快的取出想要的一些数据。
比如:

复制PHP内容到剪贴板
PHP代码:
{phpsoho “sort=article&order=ID DESC&limit=10&tplfolder=article&tplname=article.list”}

无喱头为小张同学提供了类似于上面的自定义函数,并且明确的给出了使用文档:
Sort: 类别(文章?下载?图片?) article|download|picture
Order:排序方式 id,hot,? DESC|ASC
Limit:取出多少条? Limit number|limit start,end
…….
当然,不仅仅是这些,也不仅仅只有phpsoho这个自定义的函数来定义。小张可能很快的通过这些她能看得懂的文档(打印稿)来很方便的进行界面的操作。
由于种种原因,现在准备使用SMARTY。现在问题来了,怎么让SMARTY也支持用户自定义的函数呢?
解决方案:
SMARTY手册是这样介绍register_function函数的

复制PHP内容到剪贴板
PHP代码:
Use this to dynamically register template function pluginsPass in the template function namefollowed by the PHP function name that implements it
The php-function callback impl can be either (aa string containing the function name or (ban array of the form array(&$object$methodwith &$object being a reference to an object and $method being a string containing the mehod-name or (can array of the form array(&$class$methodwith $class being a classname and $method being a class method of that class.

其实,那么多英语我也不太看得懂,经过两天的摸索,终于还是有了一些心得的。


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册