Press "Enter" to skip to content

Yaf - A PHP Framework Extension

如我在2011PHP技术峰会上介绍的Ap, 它的开源版本Yaf 2.0终于发布了.
后续我会建立一个专门的site来做文档, 等相关支持工作.. 现在就是先行放出源代码和手册.
手册地址:http://yaf.laruence.com/manual
源代码地址:http://code.google.com/p/yafphp/
如果有公司或者企业用户使用, 可以咨询我相关部署开发规范细则..
另外, 作为开源项目, Yaf非常渴望有兴趣的同学一起参与开发. 贡献自己的代码. 当然, 因为打算做一个Yaf的Site, 也需要一些前端的同学, 参与进来.. 先谢谢大家的热情了.
谢谢

Filed in PHP Extension, PHP应用
with 65 Comments

Apache Access Log中的Options的含义

说是, 在Apache的Access Log中会看到很多如下的访问日志:

127.0.0.1 - - [05/May/2011:10:54:07 +0800] "OPTIONS * HTTP/1.0" 200 -
127.0.0.1 - - [05/May/2011:10:54:08 +0800] "OPTIONS * HTTP/1.0" 200 -
127.0.0.1 - - [05/May/2011:10:54:09 +0800] "OPTIONS * HTTP/1.0" 200 -
127.0.0.1 - - [05/May/2011:10:54:10 +0800] "OPTIONS * HTTP/1.0" 200 -

这是什么意思呢?

Filed in Linux/Unix
with 7 Comments

Serialize/Unserialize破坏单例

我们经常采用如下方式定义单列:

class Singleton {
    private static $instance = NULL;
    /** 不容许直接调用构造函数 */
    private function __construct() {
    }
    /** 不容许深度复制 */
    private function __clone() {
    }
    public static function getInstance() {
        if (NULL === self::$instance) {
        	self::$instance = new self();
		}
        return self::$instance;
    }
}

很多人都会记得对深度copy的保护, 但, 其实我们却疏忽了一点...

Filed in PHP应用, 随笔
with 12 Comments