no-image

Ethnaしか知らないけどS2Ethnaを使ってみるよ1

S2EthnaなるものがリリースされたようなのでEthna使いとしては触ってみないとなぁと突然思いたちチャレンジ.
とりあえずインストールしてみます.S2とか知らないEthna使い達の参考になれば.


すでにEthnaで開発を行っているのでSmartyのインストールとかは省いてます。

PDOがインストールされているか確認


$ php -m |grep -i "pdo"
PDO
pdo_sqlite

sqliteしかドライバないけど大丈夫だろうか。

Projectの作成

今回はS2ETestというプロジェクト名でやってみた。


$ ethna add-project -b /home/ha1t/buf S2ETest
creating directory (/home/ha1t/buf/s2etest) [y/n]: y

S2Containerのインストール

S2Containerは素晴しい事にpear package化されているのでpear-localコマンドで一発。
当然alldeps。


$ ethna pear-local install --alldeps http://s2container.php5.seasar.org/download/S2Container-1.2.0RC1.tgz

S2Daoのインストール

こちらも同様。pear-localコマンドがあれば環境よごさずに気軽にテストできるぜえええええ


$ ethna pear-local install --alldeps http://s2dao.php5.seasar.org/files/S2Dao-1.1.2.tgz

インストールされたパッケージの確認


$ ethna pear-local list -a
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE          VERSION  STATE
Archive_Tar      1.3.2    stable
Cache_Lite       1.7.2    stable
Console_Getopt   1.2.3    stable
PEAR             1.6.2    stable
S2Container      1.2.0RC1 beta
S2Dao            1.1.2    stable
Structures_Graph 1.0.2    stable
XML_RPC          1.5.1    stable
INSTALLED PACKAGES, CHANNEL PECL.PHP.NET:
=========================================
(no packages installed)
INSTALLED PACKAGES, CHANNEL __URI:
==================================
(no packages installed)

S2Ethnaのインストール

こいつはPEARパッケージじゃないので公式サイトからダウンロードして解凍した後に、libディレクトリからコピーしてくる必要がある。

wget http://daikon.tea-nifty.com/archive/s2eth_02.zip
unzip s2eth_02.zip
mv ./S2Ethna/lib/S2Ethna ./s2etest/lib

S2Ethnaの初期設定

ここが一番たるい。S2EthnaをEthnaに依存するように設定したPEARPackageで提供してInstall時にEthnaのディレクトリ内に強制的に関係ファイルを書き込んで、add-s2-projectコマンドとか作ればいいのに。

Controllerの編集

さっきコピーしてきたS2Ethnaディレクトリの中にController1.diff,Controller2.diff,Controller3.diffがあるのでこれを見ながらプロジェクトのコントローラーを書き換えます。自分の手で。
1はアプリケーションライブラリのインクルードの後、クラス定義の前に、2はControllerクラス内のメンバ変数を
おきかえろという意味です。3はControllerクラスにメソッドを追加しろという意味っぽい。
めっちゃたるいです…

ActionFormの編集

こっちもController3と同じでメソッドをActionFormクラスに追加せよという意味ですね。

diconファイルのコピー

最初にS2Ethnaを解凍した時に出てきたサンプルのプロジェクトファイルのetcの中にある拡張子がdiconのものをコピーしてくるっぽい。とりあえず作者の方にdiffファイルと同じ場所に空のdiconファイルを用意してほしいとメールしておいた。

たぶんこれでインストールは完了したはず!よくわからん!
次回はがんばって使ってみるよ!