OpnePNEの構造やフレームワークとか

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

OpnePNEの構造やフレームワークとかについて、分かったことをまとめておきます。
OpenPNEは、PHPで書かれており、ソースはけっこう読みやすいです。
ただし、いたるところで、データベースに格納するデータの変数に、「$p」という変数名が使われており、この$pが何者かという予測が付けにくい・・・。略しすぎです、変数名。

スポンサーリンク

現在、改造・拡張しているOpenPNEのバージョンは、OpenPNE-2.12.5で、最新の安定バージョン。
独自のMVCフレームワークで作られている。
ただし、もうすぐリリースされる予定のOpenPNE3からは、PHPのフレームワークであるSymfonyでシステムが刷新されるらしい・・・。

以下、具体的なOpnePNEのMVCモデルの構図。

モデル(DB操作周り): webapp/modules/pc/do
ビュー(Smarty): webapp/modules/pc/templates/
コントローラー(アクション): webapp/modules/pc/page/

それぞれM(モデル)、V(ビュー)、C(コントローラー)ディレクトリ以下のファイル名には、一文字のプレフィックスがついてて、その意味は・・・

h_ :自分関連
c_ :コミュニティ関連
f_  :フレンド関連

となっているらしいが、よく分からないのもあります。

たとえば、日記投稿ページのクエリは・・・
?m=pc&a=page_h_diary_add

となっていて、このクエリにより、コントローラーのアクションが決定されます。
次のページから、クエリ(URLの?以降の部分)がどんな動作を起こすか説明します。

スポンサーリンク
 
スポンサーリンク