Archive for 十一月, 2009

30th
十一月

PHP:N种路径函数及变量对比
马克龙 发布于: 2009年11月30日 开发与应用 标签:, 评论 (0)

行文之前有三点说明:
1、此文不谈论PHP路径处理问题如项目中的include解决方案,而只谈常见的几个路径函数和变量,以示例对比。
2、此文所有脚本文件位于本人windows xp上的一个虚拟目录:E:/Dropbox/My Dropbox/code/php,脚本运行地址为:http://localhost/php/*.php
3、此文所涉及示例均可在此下载:php_path_func_and_var.zip

(全文…)

29th
十一月

PHP:浅析Savant模板引擎机制
马克龙 发布于: 2009年11月29日 开发与应用 标签:, , , 评论 (0)

要说到优秀的PHP模板引擎,PHPer响应最多的一定是Smarty,它使用自己的模板语言,所以需要将模板“编译”成PHP。

Savant也是面向对象的PHP模板引擎,但它使用PHP本身来作为它的模板语言,不需要“编译”,代码量更少、执行速度更快。Savant只包含了模板引擎的最基本功能(如数据格式化功能),但它有一个面向对象的模板插件系统和输出过滤器,可以让你快速为它新增新的行为。我想,这是Cal Henderson在《构建可扩展的Web站点》一书中推荐Savant的理由。

最新版的是Savant3,其使用及其简单、清晰,使用Demo见:http://phpsavant.com/docs/,API见:http://phpsavant.com/api/Savant3/

Savant3的文件目录结构如下

Savant3.php //包含Savant3类
Savant3
    resources //此文件夹存放插件和过滤器
        Savant3_Filter_trimwhitespace.php //trimwhitespace过滤器,其类Savant3_Filter_trimwhitespace继承了Savant3_Filter
        Savant3_Plugin_ahref.php //ahref插件,其类Savant3_Plugin_ahref继承了Savant3_Plugin,下同
        Savant3_Plugin_date.php //date插件
        Savant3_Plugin_htmlAttribs.php //htmlAttribs插件
        Savant3_Plugin_image.php //image插件
    Error.php //包含错误类Savant3_Error
    Exception.php //包含异常类Savant3_Exception
    Filter.php //包含抽象过滤器类Savant3_Filter,规定了编写“官方”过滤器须要遵循的接口。但函数或不是Savant3_Filter的子类方法也可以作为过滤器。
    Plugin.php //包含抽象插件类Savant3_Plugin,规定了编写插件须要遵循的接口

(全文…)

26th
十一月

凭什么让你脱颖而出?
马克龙 发布于: 2009年11月26日 职场与职业思考 标签:, , , 评论 (1)

凭什么让你脱颖而出?

自前段时间看了唐骏08年夏在大连理工的演讲后,这是我一直在思考的问题。