mapleぽいフレームワーク
id:reverielaby さんが公開しているのに気付いた。
http://www.momiji-project.org/
こういう色んなセンスが欲しい・・。
取り敢えずインストール
pear discover-channel pear.momiji-project.org
http://www.momiji-project.org/node/4
pear install momiji/Momiji-alpha
なんとしょっぱなでエラー。channel-discoverだよね?気を取り直して再実行してもエラーが・・。sargeのpearじゃダメぽい。
paer upgrade Archive_Tar pear upgrade PEAR-1.3.3 ... (以下メッセージに従って黙々とアップグレード)
で、最初のインストールコマンドを実行する。
$ momiji bash: momiji: command not found
むむ。
pear list momiji/Momiji
momijiコマンドがインストールされてないぽい。
仕方がないのでソース探索。
mapleと違って階層構造がちゃんとしている。
メソッドが細かくて綺麗だな・・。empty多用してるコード初めて見た。
使い方
http://www.momiji-project.org/node/71
Momiji::importAS('Momiji.IO.Request', 'Request');
気になる関数。
どうやら単純に.を_に置換してコンテナにコンポーネントとして登録しているらしい。
importの名前から一瞬 Momiji_IO_Request::メソッド名()をRequest::メソッド名()と書けるように変換するのかと思った。PHP6っぽく。
バリデータの書き方。
ValidateFilter: key_name: validator_name: message:"error message" params: group:"group_name" stop:truehttp://www.momiji-project.org/node/17
yamlいいな。
キャッシュも実装してるみたいだし、もう普通に使えそう。
見てたら自分のコードをごっそり書き直したくなってきた。
考え方はそのままでファイル名とかクラス名を・・既に使ってるサイトあるから大変だなorz
自分のコードは、設定ファイルを解析する関数が大変なことになってるんだけど・・簡潔に書ける人が凄く不思議だ。