ZendFrameworkでサイトを作ってみた

2008/05/08 | Zend Framework

本を読んだり、資料をあさったりしていても、先へ進めないような気がしたので・・・。ZendFrameworkを使って、実際にサイトを構築してみた(「構築」というほどの大げさなものではないのだが)。コーディングに時間をとられたくなかったので携帯サイトにしてみた。

うちねこ

使用したのは以下の通り。
・Zend_Controller_Action
・Zend_View
・Zend_Db

本当はZend_FormやZend_Mailも使う予定だったのだが、期待通りの動作をしなかったり、早く公開したかったり、とか諸所の理由で最低限のライブラリ群を使用して構築・公開してみた(PEARや一般公開されているライブラリを使用した)。

なお携帯絵文字変換には以下のライブラリを使用した。
MobilePictogramConverter

実際に構築してみると「こんなことができる」「これはできなさそう」「これはバグ?」とか見えてきた。あとは自分なりに使いやすい構成をとれるよう、使い込んでいくだけだ。

Zend_Mimeのバグ?

2008/05/04 | Zend Framework

現在Zend_Mail_Storage_Pop3を使ってメールの受信処理を書いている。しかし使っていくにしたがって、バグっぽい動きをすることがわかった。
添付ファイルつきのメールを受信する際の動作で例外が発生する。具体的にはmultipart/mixedなメールを読み取る際に、boundaryが読み取れる場合と読み取れない場合があるようだ。
boundaryを求める処理は、Zend_Mime_Decodeに処理が委譲され、その中でiconv_mime_decode_headersという関数で処理されているのだが・・・。
問題は「できる」場合と「できない」場合があるということなのだが、まだ原因がつかめない。
まだまだZendFrameworkにはバグが出てきそうだ。

Zend_Formでのファイルアップロード

2008/05/03 | Zend Framework

「ファイルのアップロード」と書いてはみたものの、実は調べたところ現状Zend_Formにはファイルをアップロードするための仕組みは用意されていない。ゆくゆくは機能追加されるとは思うのだが・・・。
HTTPによるファイルアップロード機能自体に、なんらかの仕様変更があるのではないかと推測している。PEARのHTML_QuickFormにはファイルのアップロード機能が用意されていた。しかしマニュアルによると「推奨しない」とか「将来削除される可能性がある」とか書かれていたりする(現在はHTML_QuickFormのアップデートは期待しないので、なくなることもないと思うけど)。推測しかできないので、余計な推測はこれ以上せず、当面は当該機能がある仕組みを使うのみだ。ちなみにHTML_QuickForm2(HTML_QuickFormのPHP5対応版)にはファイルアップロード機能が用意されているので、フォーム関連はこちらを使うことになると思う。

HTML_QuickFormにしてもZend_Formにしてもウェブを検索するとたいてい評判がよくない。たしかに癖のあるライブラリだとは思う。しかし、かといってフォーム関係ライブラリで有用なものが他にあるわけではないので、現状では貴重なライブラリ群だ。だいたい文句を言っている人は、使いこなせないから文句を言っているのだとは思うが・・・。文句があるならライブラリを自作して公開するとか、代替案を提示してほしいよね(問題点の指摘は大いに結構だけど)。

Zend_Formでのチェックボックス作成

2008/04/27 | Zend Framework

HTML_QuickForm2を使おうといろいろ試行錯誤しているが、最近Zend Frameworkに触れる機会があり(といっても自分で開発案件を抱えているわけではない)、そちらでも試してみた。

Zend Frameworkはフレームワークとして機能するのは当然だが、個々のライブラリを個別に使用することもできる非常にすばらしいツールだ。ただサンプルスクリプト自体がフレームワーク前提で記述されているようなので、お世辞にもわかりやすいとはいえない。便利なサンプル集がたくさんあるとどんどん使いたいのだが・・・。

フォームの作成はZend_Formが担当する。Zend_Formを試していて「よく考えてある!」と思ったのはチェックボックス。Zend_Form_Element_MultiCheckboxなんていうそのまんま使いたくなるようなライブラリが用意されている。もちろん複数のチェックボックスを扱うためのライブラリだ。これを使った記述方法は以下の通り。

$element=new Zend_Form_Element_MultiCheckbox(‘name’);
$element->setMultiOptions(
    array(
        ‘a’=>’A’,
        ‘b’=>’B’,
        ‘c’=>’C’,
      )
  );

これだけで配列形式で受け取ることができる複数チェックボックスを作成することができる。HTML_QuickForm2と違ういい点は値(value属性)を自由に設定できるところだ。さすがは後発フレームワーク。かゆいところに手が届いている。まだ慣れないけれど、当面ソースを追いかける努力をしてみよう。

注目のZend Framework

2006/04/17 | Zend Framework

今、PHPで最も注目すべきカテゴリの一つがコレ「Zend Framework」。PHP5の環境で最も有力視されるフレームワークだ。なんといってもZendが構築しているので大本命になることほぼ間違いなし。現状はまだα版程度なのでビジネスで使える程度ではないと思われる。
とはいってもそろそろ状況を追いかけていかないといけないと思われるので、メモを残すことにした。
とりあえず関連するページを見つけたのでメモメモ。
http://trac.ishinao.net/webxp/wiki/

Smarty関連とデータベース関連の仕組みについて解説がある。メインは別のフレームワークらしい(WEBXP)。しばらくの間、追いかけておきたいサイトだ。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net