アプリケーション構築手順(1)
書いた人 | DQNEO | 2010-04-10 | 古い記述を修正 |
書いた人 | DQNEO | 2010-04-28 | 初心者向けにわかりやすくした |
Ethnaを利用したアプリケーションの構築手順についてご説明します。
(0) アプリケーション情報の決定
アプリケーションを構築する前に、少なくとも以下の2点を決定しておく必要があります。
- アプリケーションID(英字のみ)
例: Sample
- アプリケーション配置ディレクトリ(どこでも構いません)
例: /home/example/codes/とかC:\codes\php\とか適当に
(1) アプリケーションの自動生成
ethnaコマンドを利用してアプリケーションを使って生成します。
ethnaコマンドが実行できるか確認する
$ ethna add-project error occured w/ command [add-project] -> Application id isn't set. usage: ethna add-project [-b|--basedir=dir] [-s|--skeldir] [-l|--locale] [-e|--encoding] [Application id]
ethnaコマンドが実行できない場合
Ethnaをまだダウンロードしてない場合はダウンロードしてください。
ethnaコマンドの実体は、アーカイブのbinディレクトリに含まれるバッチ(シェル)スクリプトです。 ethnaコマンドをインストールしていない場合は、下記のようにバッチ(シェル)スクリプトを直接実行することでethnaコマンドを実行できます。
Windowsの場合
> c:\foo\bar\Ethna\bin\ethna.bat
Unix系の場合
$ /foo/bar/Ethna/bin/ethna.sh
アプリケーションを作成する
例として、アプリケーションIDが「sample」、アプリケーション配置ディレクトリが/tmpだとすると以下のようになります(CGI版もしくはCLI版のphpが必要です)。
$ ethna add-project -b /tmp/sample sample creating directory (/tmp/sample) [y/n]:project sub directory created [/tmp/sample/app] creating directory (/tmp/sample) [y/n]: y project sub directory created [/tmp/sample/app] project sub directory created [/tmp/sample/app/action] [中略] file generated [./Ethna/skel/skel.template.tpl -> /tmp/sample/skel/skel.template.tpl] file generated [./Ethna/skel/skel.view_test.php -> /tmp/sample/skel/skel.view_test.php] project skelton for [sample] is successfully generated at [/tmp/sample]
以上で、最小構成のアプリケーションが生成されます。
(2) エントリポイントの設定
(1)で生成したアプリケーションにアクセスするには、wwwディレクトリに生成されているindex.phpをウェブサーバを通じてアクセス可能な適当なディレクトリにコピー、あるいはシンボリックリンクを作成します。 また、wwwディレクトリ以下のcssディレクトリもディレクトリごと当該ディレクトリにコピーします。
ここでは最も簡単な例として、~/public_htmlにindex.phpとcssディレクトリを配置します。
$ cd ~/public_html/ $ ln -s /tmp/sample/www/index.php . $ cp -r /tmp/sample/www/css ./css
以上で設定は完了です。ブラウザから
http://some.host/~foo/
というようにアクセスしてみてください。正しくプロジェクトが生成されていると、以下のような画面が表示されるかと思います。
(3) ディレクトリ構成の確認
Ethnaを利用したアプリケーションの標準的なディレクトリ構成は以下のようになります。
|-- app (アプリケーションのスクリプト) | |-- action (アクションスクリプト) | |-- action_cli (CLI用アクションスクリプト) | |-- action_xmlrpc (XMLRPC用アクションスクリプト) | |-- plugin (フィルタスクリプト) | |-- test (テストスクリプト) | `-- view (ビュースクリプト) |-- bin (コマンドラインスクリプト) |-- etc (設定ファイル等) |-- lib (アプリケーションのライブラリ) |-- locale | `-- ja_JP |-- log (ログファイル) |-- schema (DBスキーマ等) |-- skel (アプリケーション用スケルトンファイル) |-- template | `-- ja_JP (テンプレートファイル) |-- tmp (一時ファイル) `-- www (ウェブ公開用ファイル) |-- css (CSSファイル) |-- js (JavaScriptファイル)
たくさんありますが、必ずしもこれら全てを使う必要はありません。
よく使うのは下記のディレクトリです。
- app
- app/action
- app/view
- template/ja_JP
具体的なアプリケーションの作成についてはアプリケーション構築手順(2)を御覧下さい。