OpenPNEから見るPHPフレームワーク「Mojavi」

takimo2008-01-13

昨日からずっとOpenPNEをいじくってます。
ただ、テンプレートが膨大すぎていじくる気にならないのが現状です。

さて、いじくってて分かったことはMojaviフレームワークMVCです。
メモ的な感じで書いていきます。

Mojaviのフォルダー構成(OpenPNE版)

webapp [ベースディレクトリ]
├lib
├modules [モジュール(Controllerのようなもの)]
│├admin
│├api
│├diary
││├auth.inc
││├init.inc
││├lib [Modelの置き場]
│││├action.php
││├page [Actionを記述するファイル置き場]
│││├home.php
││├templates [SmartyによるViewファイル置き場]
│││├home.tpl
││└validate
│├keitai
│├pc
│└setup
└templates

モジュール単位のMVC

このフレームワークCakephpでいうコントローラーをモジュールという固まりとして扱っているみたいです。ちょうど上のURLでいう

?m=diary

の部分で識別しています。また、アクションは

a=page_home

の部分になるので。このURLで実行される結果は「diaryモジュールのpage_homeアクション」です。

感想

  • CakephpからMojaviにはいると構造が把握しづらい印象を受けた。
  • 新しくSmartyを覚えるのは大変かな。
  • というかSmartyの利点があまり有効に使われてない例なきもする。テンプレート多すぎ。。。