http://ethna.jp/ を参考にしながらEthnaを入れてみる。
何故突如Ethnaか?以下理由。
前者の理由はともかく*1、後者の理由は以前、突如仕事として行わなければならなくなった際の苦労もあるので使いたかった。
ということで…。
-
-
- -
-
公式サイトが充実しているのでメモを残す価値も無い気もするが、一応記録として残しておく。
- Ethnaを入れる
Windowsマシンの方で使っているのがPHP4なので、以下のPEARコマンドで
$ ./pear.bat install http://ethna.jp/pear/Ethna-2.1.2.tgz*2
downloading Ethna-2.1.2.tgz ...
Starting to download Ethna-2.1.2.tgz (104,805 bytes)
........................done: 104,805 bytes
install ok: Ethna 2.1.2
あっさり入る。
- 依存ライブラリの確認
Ethnaでは下記ライブラリが必要。
私のPCには上記ライブラリは格納済みなので割愛。
- Ethnaコマンドの設定
上記の入れ方でインストールを行うとPEARフォルダの中にEthnaのバッチファイルが展開される。
アーカイブから入れたときは、展開したアーカイブ内のbinディレクトリの中のファイルを抽出するとのこと。
PEARから入れた場合はいらないのかな。多分。
- Ethnaコマンドを実行してみる
とりあえず実行。
PEARコマンドがあるディレクトリにはパスが通してあるので、Ethnaコマンドにもパスが入ることになる。
$ ethna
Warning: main(Smarty/Smarty.class.php): failed to open stream: No such file or d
irectory in c:\php\PEAR\pear\Ethna\Ethna.php on line 16
(以下略)
Smartyが見つからないようなので、php.iniを編集。include_pathを書き直す。
そういえば、別のプロジェクトの際の妙な設定が残っていた。Smartyは私の場合、C:\php\lib\smarty に置いているので*3
"PHP.ini"ファイル内
include_path = ".;c:\php\PEAR\pear;C:\php\lib;
これでもう一度実行
$ ./ethna
usage: ethna [option] [command] [args...]available options are as follows:
-v, --version show version and exit
available commands are as follows:
add-action -> add new action to project:
add-action [action] ([project-base-dir])
(以下省略)
- 実際に作ってみる
Ethnaのチュートリアルにならってサンプル作成。
自身のホームにtmpディレクトリを作成する。
$ mkdir tmp
$ ls -l
total 0
drwxr-xr-x+ 3 ****** なし 0 Jun 17 11:09 tmp
そのままの階層でプロジェクト作成を行う。
コマンドのusageに従えば、
add-project -> add new project:
add-project [project-id] ([project-base-dir])
ということなので、プロジェクトのIDをethna_sample、ベースディレクトリを先ほど作ったtmpディレクトリに設定。
$ ethna add-project ethna_sample tmp
error occured w/ command [add-project]
-> Only Numeric(0-9) and Alphabetical(A-Z) is allowed for Application Id
うむ、プロジェクト名は英数字のみですか。では、素直にやはり公式サイトのチュートリアルに従って名前をsampleで作成。
$ ethna add-project sample tmp
creating directory (tmp/sample) [y/n]: y
proejct sub directory created [tmp/sample/app]
proejct sub directory created [tmp/sample/app/action]
(途中省略)
file generated [skel.view_test.php -> tmp/sample/skel/skel.view_test.php]
file generated [template.index.tpl -> tmp/sample/template/ja/index.tpl]project skelton for [sample] is successfully generated at [tmp]
これで一通りのスケルトンは作成されたことになる。
上で作成されたプロジェクトのWebサーバでの公開領域は~/tmp/sample/wwwなので、これを参照できる様にする。
Windowsの場合は、ローカルのWebサーバとしてAnHttpdを使わせていただいているので、この設定を変更する。
(変更は、オプション(0) -> 一般(G) -> ダイアログ内のドキュメントルートを修正)
上記の設定で、見える様になるはず。Webブラウザで閲覧してみると・・・。
おぉ、ばっちりだ。
- アクションを追加する
ここでアクションとはナニですか?となるわけですが、公式サイトを見ると
「アクション」とは何ですか?というのを正確に定義するのはちょっと難しいですが、要するに
1. ユーザから何らかのリクエストを受け取って(例えばURLへのアクセスや、submitボタンのクリック)
2. サーバ側で何らかの処理をして
3. 結果をブラウザに出力する
という一連の処理単位だとお考え下さい。
とのことなので、そういうことにする。*4
アクションを追加するときにはコマンドで "add-action" を指定する。
$ ethna add-action hello
file generated [skel.action.php -> /home/*****/tmp/sample/app/a
ction/Hello.php]
action script(s) successfully created [/home/*****/tmp/sample/app/action/Hello.php]
ふむ。追加された。
と、ここでタイムアップ。続きは後で。
最近のコメント