新規ドキュメントはこちら(http://ozaki.kyoichi.jp/content/blogsection/4/26/)に掲載しております。

mojavi 3の構成図

ここではMyProjectという名前がプロジェクト名である場合を想定して説明します。実際にmojavi 3に含まれるファイルは、www、mojavi、webappの3つのディレクトリになります。

wwwディレクトリ

この中にはindex.phpというファイルが存在します。これがmojavi 3で作成したアプリケーションの窓口となるファイルです。作成する全てのアプリケーションコンポーネント(部品)はこのファイルを通じてアクセスします。以下にサンプルのURLを示します。moduleやactionについては後ほど説明します。

 http://localhost/MyProject/index.php?module=Default&action=Index

あるいはmojaviはPATH_INFOによりモジュール名、アクション名を取得することにも対応しているので、以下のURLによるアクセスも可能です。

 http://localhost/MyProject/index.php/Default/Index

もう一つmodpubというディレクトリがあります(図には含まれていません)。この中にはmojavi 3より使うcss、image、javascriptファイルなどをおきます。wwwは唯一ウェブサーバよりアクセス可能が必要となるディレクトリです。逆に言えば、そのほかのディレクトリはウェブサーバを経由して見られてはいけないファイル群になります。www以下のみが閲覧可能であるべきなので、apacheの設定もそのように変更します。以下のような行を追加しましょう。

Alias /MyProject/ "/home/k-ozaki/workspace/myProject/www/"

index.phpについては、いくつかインストールパスに関する環境設定部分を編集するだけです。編集内容については、後ほど説明します。

mojaviディレクトリ

mojavi 3のソースコードです。このディレクトリの中身は編集しません。mojavi 3は現時点ではドキュメント不足なので、不明な点がある場合はソースコードを確認することで対処方法が分かります。

webappディレクトリ

ウェブアプリケーションの作成はこのディレクトリ配下で行います。webapp直下にはcache、config、lib、modules、templatesというディレクトリとconfig.phpというファイル(図には含まれていません)があります。このwebapp直下のディレクトリ階層をGlobal Configuration階層とします。ここでは作成するmojavi 3アプリケーション(今回にはおいてはMyProject)全体における設定が行えます。configの中ではクラスローダ、コンフィグファイルのパーサ、データベース情報、アプリケーションコンテナ、フィルタ、ログの設定などが設定ファイルベースで行えます。libは自分の作成したライブラリを格納する場所です。modulesは自分の作成したモジュールやアクションを格納する場所です。templatesはシステム全体で利用するようなテンプレートファイルを格納する場所です。

webapp/modulesディレクトリ

作成するアプリケーション用のディレクトリです。モジュール単位でひとくくりになっています。mojavi 3をインストールした直後ではDefaultモジュールは存在するので、そちらもあわせて参考にすると良いかもしれません。モジュールの中では、actions、config、lib、models、templates、validate、viewsというディレクトリが存在します。config、lib、templatesはwebapp直下にあったものと同様ですが、モジュール単位で有効になります。どこまでをアクションで分けて、どこまでをモジュールで分けるかの判断は人それぞれだと思いますが、権限レベルを考えて分けると、後々ラクになります。actionはアプリケーションのロジック(ビジネス)とプレゼンテーションを切り分けるために利用されます。viewsには表示の処理を行うクラスを作成します。