Zend_Db_Adapter 的 charset 的 issue 指派给我了

Bill 这个老家伙,这么多天,才指派了 issue 过来。

这个 charset 应该放在 config 的什么部分?

我个人倾向于跟 $config[‘port’] 一样,直接放在 config 数组中: $config[‘charset’]。实际上之前的修改也是这么做的。

但是还有一个选择是放在 $config[‘options’][‘charset’]。这样肯定更符合老外的胃口,他们很少用 charset 这个东东的。

Bill 发邮件说他想放到 $config[‘driver-options’][‘charset’],我是严重的不同意。这个肯定不是数据库特性的东西,而应该是跟 port 一样是每个数据库不同,但是每个都可以设置的东西。

恩,考虑考虑先~~反正无论如何,我不同意放到 driver-options 里去设置 charset。

php 扩展加载的顺序

前几天,搞掂了 xdebug 和 xcache 的共存问题。很简单,先加载 xcache 再加载 xdebug 就相安无事。否则,就会有非法的内存访问。

结果没想到,今天又遇到了,之前一直没留意过。必须先加载 mbstring 才能加载 exif 。晕死啊!搞了20分钟。

大风大浪都过去了,小河沟里翻了船。

xcache => xdebug

mbstring => exif

还有么?慢慢补充吧。

a issue of PHPUnit

In the class PHPUnit_Framework_TestCase, line 352

        if ($this->name === NULL) {
            throw new PHPUnit_Framework_Error(
              ‘PHPUnit_Framework_TestCase::$name must not be NULL.’
            );
        }

If the var $this->name is NULL, it throws the exception PHPUnit_Framework_Error.
But, the PHPUnit_Framework_Error’s constructor is (line 77):

    public function __construct($message, $code, $file, $line, $trace)

如果捉虫能拿奖金,我可能已经是百万富翁了。闷,搞了半天,才发现原来是个 issue。再做回善事,发到 PHPUnit 的 mail list上吧。

原来 Gaim 改名 Pidgin 了

自从有了 firefox 的 chatzilla 插件,就一直没用 Gaim 了。由于 Zend Framework 的官方 chat room 使用的是 jaber,只好装回 Gaim。上官方一看,Gaim 已经改名 Pidgin,已经是 2.02 版本。支持的通讯协议也增加了不少。QQ 也被列为官方支持的协议,而不是一个三方插件。

试用了一下,比以前快了不少。同时也稳定了一些。不过 QQ 的功能很弱,不支持自定义表情有些不爽。

主界面

账户列表

又被番茄发现 Zend_Db_Select 的 Bug 了

如果找到 Zend Framework 的 Bug,Zend 公司给发钱,恐怕项目组的兄弟们能出去挫好几顿了。

废话少说,这次的 Bug 比较弱智。绝对是粗心大意引起的。少了一个参数,造成使用 join 方法时报找不到表的错误。

Index: Select.php

===================================================================

— Select.php    (revision 5792)

+++ Select.php    (working copy)

@@ -417,7 +417,7 @@

      */
     public function join($name, $cond, $cols = ‘*’, $schema = null)
     {
–        return $this->joinInner($name, $cond, $cols);
+        return $this->joinInner($name, $cond, $cols, $schema);
     }
 
     /**

 

发到邮件列表上没人理。唉!算了!这种事情,自己动手丰衣足食。改一下,直接提交了svn。还好,之前申请的 zend framework 的 svn 帐号这回派上用途了。

ninny Project 的数据库完成向 mysql 5.0 的迁移

升级为 PowerDesigner 12 来维护逻辑表果然方便多了,可以随意生成 Oracle 10g 和 mysql 5.0 的物理表。在修改了配置文件之后,我惊喜的发现原来一行代码也不需要修改,就完成了迁移工作。Zend Framework 的数据库部分的设计果然可圈可点。

由于服务器自身的限制,以 Oracle 作为数据库的版本无法提供演示和下载。所以迫不得已只好再维护一个 mysql 5.0 的数据库版本。PowerDesigner 真的是利器,逻辑表不需要任何修改就可以生成 mysql 版本的物理表。如果大家有类似的迁移需求,推荐大家也用一用这个。等有钱了,一定买一套正版回来用。

修改了资源权值和角色权值为添加时间戳,这样可以省掉维护两个触发器。PowerDesigner 12 好像还不能编写 mysql 5.0 的触发器。或许我需要手工添加一些规则才可以再 PowerDesigner 中直接编写 mysql 的触发器。不过不管怎么样,现在不需要触发器也可以按正常的权值构造 ACL 对象了。

下一步的计划就是构造一个后台管理,将资源、角色、权限、用户等的管理都放到后台中进行。