どうやって開発しているか

フレームワークをどうやって開発しているか、書いてみる。

とりあえず、どうやって利用されるかの視点から開発を進めることが多い。その場合、下記のようなプロトタイプを作成してインタフェースを考える。そして、あーでもないこーでもないと悩みながらそれを実現するための実装をフレームワークとして組み立てていく。

<?php
class Foo extends Moony_Action
{
    var $name;
    var $furigana;

    function init()
    {
        // 初期化
    }

    function filter(&$f)
    {
        // フィルタ処理
        $f->toHiragana($this->furigana);
    }

    function validate(&$v)
    {
        // 入力値の検証設定
        $v->setRequired($this->name, 'name::名前は必ず入力してください');
        $v->setHiragana($this->furigana, 'furigana::ふりがなは平仮名で入力してください');
    }

    function execute()
    {
        if ($this->hasError()) {
            // 検証エラー
            $this->render('common/error.php');
            return;
        }

        // PATH_INFOで渡された引数
        if (isset($this->args[0])) {
            $id = $this->args[0];
        }

        $this->render();
    }
}
?>