Category: Zend Framework

The Zend Framework is a framework!

  • Zend_Mail 中文主题编码后超过74个字节,主题乱码的 Bug

    Zend_Mail 中文主题乱码的原因主要是在编码后超长内容的设置上出现问题。

    已经提交到 issues 上了:

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

    如果有朋友遇到主题乱码,可以尝试使用更短的主题。或者使用我在 issrues 上提到的方法临时解决一下。

    据我所知,这个 bug 在 1.5 的 perview 版本中依然存在。

  • Zend Framework 1.5 快要出来了

    看到邮件列表上说,于 1 月 22 日冻结代码,计划 1 月 24 日正式发布。
    增加了不少新的功能,正式发布的时候还可能有更多的一些功能:
      * Zend_Auth_Adapter_Ldap
      * Zend_Build/Zend_Console
      * Zend_Controller additional action helpers
        * ContextSwitch and AjaxContext
        * Json
        * AutoComplete
      * Zend_Form
      * Zend_InfoCard
      * Zend_Layout
      * Zend_OpenId
      * Zend_Search_Lucene improvements:
        * wildcard search
        * date range search
        * fuzzy search
        * Lucene 2.1 index file format support
      * Zend_View enhancements:
        * actions
        * partials
        * placeholders
      * Zend_Pdf UTF8 support
      * New Zend_Service consumables (final list TBD)
      * A whole lotta bug fixes and documentation improvements
    

     

  • 在 Zend Framework 中使用 Jquery 的 ajax 功能

    发现不少人对此有迷惑,所以有通常的做法:设置 noViewRender,然后将 ajax 调用时的返回数据直接输出于 controller 中。

    个人以为,这种做法不是不可以。但是在 Zend Framework 中这样使用,就有违 MVC 的分离原则。controller 不应该区分显示到客户端的是页面还是 json 或者 xml。

    下面是我的做法,仅供参考。部分调用了 ninny project 中封装的功能凑合看吧:

    ———————–view script: index.php—————————

    <?php echo $this->jquery();?>
    <script language="javascript">
    // jquery ajax 的 json
    $().ready(
    function(){
    $("#load").click(
    function() {
    $.getJSON("/foobar/index/ajax",function(data){
    $("#title").html(data.title);
    content = "";
    $.each(data.content, function(i, line){
    content += line + "<br/>";
    });
    $("#content").html(content);
    });
    });
    });
    </script>
    <div id="title"></div><div id="content"></div><input type="button" id="load" value="Load"/>
    -----------------------view script: ajax.php---------------------------
    <?php
    // Zend_Json 处理输出的对象,如果这里不使用 Zend_Json,可使用其他编码器将 php 对象进行编码输出。
    // 这样在需要修改输出类型时,仅需要修改视图部分。而不涉及数据模型或控制器。
    echo Zend_Json::encode($this->content);
    ?>

    ———————–action controller: Foobar_IndexController.php—————————

    <?php
    class Foobar_IndexController extends Ifang_Controller_Action
    {
    public function indexAction()
    {
    }
    public function ajaxAction()
    {
    $foobar = array(
    'title' => 'This is a test!',
    'content' => array(
    '0' => 'This is the first line!',
    '1' => 'This is the second line!',
    '2' => 'This is the last line!',
    ),
    );
    // 传递一个普通的 php 对象(变量)到视图。
    $this->view->content = $foobar;
    }
    }
  • An issue about Zend_Translate_Adapter

    My codes is:

    public function testGetTextTw()

    {

        $t = new Zend_Translate(‘gettext’, ‘./_locale/’, ‘zh_TW’);

        $this->assertEquals(‘n2’, $t->_(‘New’));

    }

    public function testGetTextCn()

    {

        $t = new Zend_Translate(‘gettext’, ‘./_locale/’, ‘zh_CN’);

        $this->assertEquals(‘n1’, $t->_(‘New’));

    }

    But, the testGetTextCn() go into fail: expected string ‘n1’ but got string ‘n2’.

    So, I read the codes in Zend_Translate_Adapter::__construct().
    the param variable $local was covered by an other value.

    I made this patch:

    zend_translate_adapter patch

    Now, it works fine!

    The issue and the patch have been submited to issue tracker:

    framework.zend.com/issues/browse/ZF-2205

     

  • 老 Bill 的新提案——Zend_Application

    Zend_Application – a general-purpose bootstrap class, optionally driven
    by a configuration file.
    http://framework.zend.com/wiki/x/K48

    Zend_Application – 通用的 bootstrap 类,通过配置文件设置选项。

    貌似,跟 ninny project 的 IfangSite 类异曲同工。恩,是不是以后我可以从 Zend_Application 继承 IfangSite,希望迁移工作不要太麻烦。Zend_Application 配置文件的格式是固定的,如果跟我现在设计的差别很大,那就糗了。-_-!

  • 为什么我们需要 Zend_Db_Select

    许多人说 Zend_DB_Select 是一个丑陋的实现,同时是完全没有必要的。那么我想谈一下我的想法,为什么我们需要 Zend_Db_Select。 (more…)

  • 小议 Zend Framework 的三宗罪

    原文在此:http://hi.baidu.com/thinkinginlamp/blog/item/6282d539d96198f13a87ced1.html

    在这里对有效内容略做剖析,谈谈我的看法。另:为避免被“河蟹”,所以原文中那另外的 50% 的废话我就不说了。 (more…)

  • 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。

  • Zend_Config_Ini 与 Zend_Config_Xml 在性能上的比较

    在分析 Zend_Config 的代码的时候,感觉 Ini.php 和 Xml.php 中代码差异非常大。那么性能上是否有一个确定的优劣?于是做了以下比较和分析。 (more…)