Category: Zend Framework

The Zend Framework is a framework!

  • Zend Framework 1.8.0 带来的变化

    曾经,我很羡慕 Django 等框架那完善的自动化工具。说实话,在 MVC 框架中不停的建立Controller、Action 是一件又枯燥,又麻烦的事情。而且,维护起来也颇费功夫。所以在 ninnypro 中我引入了一个 cli 工具,用于创建 Controller、Action 以及更新 ACL 的资源表。

    现在,这些都将成为历史了。

    Zend Framework 引入了 Zend_Tool 和 Zend_Application 两个包,用于自动化和快速集成。并且成熟的命令行工具 zf 也可以使用了。例如这里!!

    zf 将程序员的关注点聚焦到程序功能和细节的实现,更加的统一和方便。跟 ninnypro 的思路类似,以放弃灵活性为代价,换取约束性和开发速度。

    如果我有精力,或许会在此基础上重新建构 ninnypro 吧。

  • PHP框架的繁荣是正确的发展方向吗?

    这个其实是源于 javaeye 上的这个讨论:http://www.javaeye.com/post/886707。最开始吸引我的是在 rails 板块上诸多专业玩 java 和 ruby 的人是如何评价 php 以及 php 框架的。在讨论中发现有一些值得学习和借鉴的地方。所以推荐大家完整阅读这个帖子。从技术性、知识面和娱乐性来讲,都是质量很高的。

    我就简单说一下我对于 php 框架繁荣的看法: (more…)

  • Zend Framework 1.7.0 已经出来了

    http://devzone.zend.com/article/4045-Zend-Framework-1.7.0-is-now-available

    新版本放出,除了修复了近三百个 bug 外,还有下面的新功能。 (more…)

  • netbeans 6.5 rc 下建立 Zend Framework 项目

    首先,这不是一个指南,这只是一个简易说明。描述了如何在 netbeans 6.5 rc for php 中建立、开发、调试 Zend Framework 项目。

    step by step: (more…)

  • Zend_Loader::isReadable 和 is_readable 的区别

    以前分析过 Zend Framework 1.0 的 Zend_Loader;php 内建函数 is_readable 本质上就是调用 filestat.c 的 php_stat 函数,这个在前几天关于 file_exists 和 is_file 的那个 post 中有说过。
    今天在群上跟番茄吹水,说起来这个东西。于是又混一篇小记随便吹吹。
    以下所有内容,45%是吹水,45%是猜测,10%是从代码中看出来的。 (more…)

  • 编译了 CHM 的 Zend Framework 手册[2008-07-04 更新]

    [2008-07-04] 中文版本 chm 发布 1 周年,今天截止,中文翻译进度是 71%。同时也编译了英文版本。
    中文 Zend Framework 手册 CHM 版本 | 英文 Zend Framework 手册 CHM版本

    同时在 SVN 的中文手册目录下增加了 tools 目录,其中包含了正确编译中文 CHM 的说明以及工具。直接访问 SVN 的朋友可以自行编译。

    (more…)

  • Darby 離開了 Zend

    5月23日對于 Zend Framework 來說絕對不是什么好日子。

    首先 Darby 找到了新工作,23 日就離開了 Zend。

    其次,Zend Framework 的 SVN 似乎受到毀滅性的損壞。

    本想給大家再編譯一個英文版的 Zend Framework 手冊,現在看來,只能等 SVN 恢復再說了。

    最新消息,Matthew 移動了 trunk 到 standard/trunk。所以之前的 svn 無法正常使用。

  • Under the hood 的意思

    在翻译 Zend Framework 的手册的时候遇到一个短语:Under the hood。Google 的翻译为:“在引擎盖下面”。这个意思很奇怪。hood 可以是盖子,帽子,有盖的,隐藏、蒙蔽等等意思。为什么偏偏是引擎盖呢?

    上网搜了一下,居然不少专业技术翻译也推荐使用“引擎盖下面”,还有什么“魔法师的帐篷里面”(个人觉得如果是 In the hood 再这么翻译才合适)等等……

    我记得中学的时候,英语老师说过,许多老外很傻,很天真。喜欢看例如从帽子里抓兔子这类低劣的魔术。那么这种魔术的一切秘密就在帽子下面——Under the hood。

    所以 Under the hood 其实根据语境翻译为“本质上说”,“真正原因”,“最终的谜底” 等等都比较贴切。至于“引擎盖下面”和“魔法师的帐篷里面”还是留在汽车维修指南或者魔法入门的教材里使用吧。

  • Zend Framework 1.5 正式版 3.17 發布

    今天才知道這個消息,1.5 做了很多改動,包括路由部分的大小寫解析方式也同以前 1.0x 不同。新功能對于只用 Zend Framework 開發普通網站的人來說并不是十分要緊。Zend_Form 和 Zend_Layout 反而會增加頁面編輯的難度。

    * New Zend_Form component with support for AJAX-enabled form elements
    * New action and view helpers for automating and facilitating AJAX requests and
    alternate response formats
    * LDAP, Infocard, and OpenID authentication adapters
    * Support for complex Lucene searches, including fuzzy, date-range, and wildcard
    queries
    * Support for Lucene 2.1 index file format
    * Partial, Placeholder, Action, and Header view helpers for advanced view
    composition and rendering
    * New Zend_Layout component for automating and facilitating site layouts
    * UTF-8 support for PDF documents

    對于我來說修復 bug 比新功能更讓人鼓舞:

    http://framework.zend.com/issues/secure/IssueNavigator.jspa?mode=hide&requestId=10661

    我查了一下,我之前提交的多數 bug 都已經修復了。

    ninny project 在實際使用中發現了很多之前設計考慮不周的地方,我準備徹底重寫。 在可能的情況下會放到 code.google.com 上去。

  • Zend_Mail 发送邮件后提示 Fatal Error

    这实际上是由于 PHP 不允许在析构函数中抛出异常造成的,关于这个 issue 我已经提交到 issues 上:

    http://framework.zend.com/issues/browse/ZF-2534

    暂时没有想到好的解决方法。通常执行到析构函数时,邮件已经正确发出。所以最不济的方法就是用try…catch… 捕获异常,并忽略掉。

    如下:

    public function __destruct()
    {

         try

        {
             if ($this->_connection instanceof Zend_Mail_Protocol_Smtp)

            {

                $this->_connection->quit();

                $this->_connection->disconnect();

             }

        catch(Zend_Exception $e)

        {

        }
    }