紅葉フレームワークを試してみる
まずはインストール.最近の自分はgeneratorなしではめんどくさくなってるので,一緒に入れることにする.
# pear channel-discover pear.momiji-project.org # pear install momiji/Momiji-alpha # pear install momiji/Momiji_Generator-alpha
最初インストールいしようとしたら怒られたので,
# pear upgrade PEAR # pear upgrade-channels
でPEAR本体をアップグレード.
んで適当にディレクトリを作る.今回はMomijiそのもののソースも見たかったので,
+ momiji + app | + momiji - ここにアプリケーションをつくる + libs - ここにMomijiのソースを入れる
とした.
次にSpycとSmartyを入れるみたいだけど,とりあえず今回はSmartyは使わない方向で.Spycを落としてきて,spyc.phpをcomponents配下に移動.これcomponentsに入れるのか….個人的にはlibとか作ってそこに入れたい気もするなぁ.
とまぁこれだけで準備が整ったのかな.早速momijiコマンドでactionを作ってみる.
$ momiji action Index Nov 24 23:15:59 [create] /www/projects/momiji/app/momiji/webapp/modules/Index/Index.php $ momiji entry index Index Nov 24 23:19:22 [create] /www/projects/momiji/app/momiji/htdocs/index.php
ここでふと思った.actionを作ったときにテンプレートは自動生成されないのか.チュートリアルではテンプレートまで生成されてるみたいだからSmartyを入れてれば作られるのかな?
ってことでwebapp作成時にSmartyオプションを入れてみる.
$ momiji webapp --smarty Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/htdocs Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/cache Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/components Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/configs Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/files Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/logs Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/modules Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/templates Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/configs/momiji.inc.php Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/templates_c Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/smarty Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/smarty/plugins Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/smarty/filters Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/smarty/plugins/modifier.escape_string.php Nov 24 23:29:15 [create] /www/projects/momiji/app/momiji/webapp/smarty/filters/smarty_window_outputfilter.php
ずらずらっと必要なファイルができる.
改めて
$ momiji action Index smarty Nov 24 23:33:12 [create] /www/projects/momiji/app/momiji/webapp/modules/Index/Index.php Nov 24 23:33:12 [create] /www/projects/momiji/app/momiji/webapp/modules/Index/momiji.yaml Nov 24 23:33:12 [create] /www/projects/momiji/app/momiji/webapp/templates/Index.html $ momiji entry index Index Nov 24 23:34:11 [create] /www/projects/momiji/app/momiji/htdocs/index.php
今度はテンプレートまでできてる.
http://localhost/momoji
とかで見てみると
Hello Momiji! Smarty Template
が表示された.
んーAction毎にディレクトリを作るというのがMapleのときにも感じた微妙な点ではあるから,この辺をなんとかできればなぁと思う.とはいえ設定ファイルの継承(上位階層の設定が下位階層にも反映される)っていう機能を考えたらしょうがないのかな.
後はRailsベースのCakeやらAkelosやら触った後の感想としては,LL言語で設定ファイルは非常にメンドクサイ.なんか最近はphpのことはphpでやっちょおうよ的な考えに染まっちゃってる自分がいる.
とりあえずここで力尽きるorz