ログ日記

作業ログと日記とメモ

mapleぽいフレームワーク

id:reverielaby さんが公開しているのに気付いた。


http://www.momiji-project.org/
こういう色んなセンスが欲しい・・。


取り敢えずインストール

pear discover-channel pear.momiji-project.org
pear install momiji/Momiji-alpha

http://www.momiji-project.org/node/4

なんとしょっぱなでエラー。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多用してるコード初めて見た。

使い方
Momiji::importAS('Momiji.IO.Request', 'Request');

http://www.momiji-project.org/node/71

気になる関数。
どうやら単純に.を_に置換してコンテナにコンポーネントとして登録しているらしい。
importの名前から一瞬 Momiji_IO_Request::メソッド名()をRequest::メソッド名()と書けるように変換するのかと思った。PHP6っぽく。



バリデータの書き方。

ValidateFilter:
  key_name:
    validator_name:
      message:"error message"
      params:
      group:"group_name"
      stop:true
http://www.momiji-project.org/node/17

yamlいいな。



キャッシュも実装してるみたいだし、もう普通に使えそう。




見てたら自分のコードをごっそり書き直したくなってきた。
考え方はそのままでファイル名とかクラス名を・・既に使ってるサイトあるから大変だなorz


自分のコードは、設定ファイルを解析する関数が大変なことになってるんだけど・・簡潔に書ける人が凄く不思議だ。