いろいろ準備中

[Zend Framework] Zend Frameworkのリファレンスマニュアルはすでに1.5仕様になっていた

2月 27th, 2008 Posted in Zend Framework

今日Zend_Db_Tableのリファレンスガイドを見ていたら以下のような記述がありました。

取得操作用のAPIは変更され、Zend_Db_Table_Selectオブジェクトで
クエリを変更できるようになりました。
しかし、昔ながらの方法であるfetchRow()やfetchAll()は今でも同じよ
うに使用することができます。
 
次の文は、どれも正しくて同じ動作をします。しかし、新しい使用法に対応
するためにもできるだけ新しい書き方に変更することをお勧めします。
 
// 行セットを取得します
$rows = $table->fetchAll('bug_status = "NEW"', 'bug_id ASC', 10, 0);
$rows = $table->fetchAll($table->select()->where('bug_status = ?', 'NEW')
                                                              ->order('bug_id ASC')
                                                              ->limit(10, 0));
 
// 単一の行を取得します
$row = $table->fetchRow('bug_status = "NEW"', 'bug_id ASC');
$row = $table->fetchRow($table->select()->where('bug_status = ?', 'NEW')
                                                               ->order('bug_id ASC'));

1.0.3でこんな書き方(下のほうの例)できるのかなと調べたのですが、どうも無理そうです。
1.5RC1版をダウンロードしたところ、Zend/Db/Table/以下にSelect.phpというファイルがありました(Zend_Db_Table_Selectクラス)。
Zend_Db_Table_Selectクラスはよく見ていませんが、Zend_Db_Selectクラスを拡張したものです。

Zend_Db_Table_Abstractクラスのselect()メソッドでZend_Db_Table_Selectクラスのオブジェクトを取得でき、上記のような記述ができるようです(単に関数内で、newしてました)。

public function select()
{
    require_once 'Zend/Db/Table/Select.php';
    return new Zend_Db_Table_Select($this);
}

リファレンスマニュアルとその翻訳も1.5版に向けて徐々に加筆・修正がなされているようです。

本日、1.0.4のリリースと1.5RC1が利用可能であると、メーリングリストからお知らせが来ました。
1.0.4のリリースについては、以下のように書いてありました。

With this mini-release we bid a fond farewell to the 1.0 branch as we
move on to the 1.5 release.

1.0系と(やさしく)お別れするためのリリースのようです。

今後はblogで扱うバージョンも1.5の内容にしようと思います。

コメントを投稿する