PHPのフレームワーク、Ethna2.3.2を試してみた。

PHPのフレームワークEthnaをインストールしてみました。

?ドキュメントにあるとおりにPearからインストールするとわたしの環境では、ethna.shがインストールされなかったので、/tmp/pear/cash/に残っていた解凍済みソースをmvしました。

#mv /tmp/pear/cash/Ethna2.3.2? /usr/share/php/Ethna
#cd /usr/share/php/Ethna/
#cp Ethna.sh Ethna

あとはEthna_Renderer_Smarty.phpのSmartyのパスの変更

オリジナル=#require_once ‘Smarty/Smarty.class.php’;
変更後=#require_once ‘smarty/libs/Smarty.class.php’;

どうもethnaのコマンドオプションが、ドキュメントどおりに実行するとルートに設定されてしまったので、ためしに短縮形ではなく本来のオプションの形式で実行してみるとうまくいきました。

#ethna? add-project –b=/home/foo/ethna? sample
ではなくて
#ethna? add-project –basedir=/home/foo/ethna? sample

自分の環境はdebian(ethe)なのですが、これがバグなのか自分の環境に起因するのかはちょっとわかりません。

実行結果はこんな感じ

project sub directory created [/tmp/sample/app]
project sub directory created [/tmp/sample/app/action]
project sub directory created [/tmp/sample/app/action_cli]
project sub directory created [/tmp/sample/app/action_xmlrpc]
project sub directory created [/tmp/sample/app/filter]
project sub directory created [/tmp/sample/app/plugin]
project sub directory created [/tmp/sample/app/plugin/Filter]
project sub directory created [/tmp/sample/app/plugin/Validator]
project sub directory created [/tmp/sample/app/view]
project sub directory created [/tmp/sample/bin]
project sub directory created [/tmp/sample/etc]
project sub directory created [/tmp/sample/lib]
project sub directory created [/tmp/sample/locale]
project sub directory created [/tmp/sample/locale/ja]
project sub directory created [/tmp/sample/locale/ja/LC_MESSAGES]
project sub directory created [/tmp/sample/log]
project sub directory created [/tmp/sample/schema]
project sub directory created [/tmp/sample/skel]
project sub directory created [/tmp/sample/template]
project sub directory created [/tmp/sample/template/ja]
project sub directory created [/tmp/sample/tmp]
project sub directory created [/tmp/sample/www]
project sub directory created [/tmp/sample/www/css]
project sub directory created [/tmp/sample/www/js]
file generated [/usr/share/php/Ethna/skel/www.index.php -> /tmp/sample/www/index.php]
file generated [/usr/share/php/Ethna/skel/www.info.php -> /tmp/sample/www/info.php]
file generated [/usr/share/php/Ethna/skel/www.unittest.php -> /tmp/sample/www/unittest.php]
file generated [/usr/share/php/Ethna/skel/www.xmlrpc.php -> /tmp/sample/www/xmlrpc.php]
file generated [/usr/share/php/Ethna/skel/www.css.ethna.css -> /tmp/sample/www/css/ethna.css]
file generated [/usr/share/php/Ethna/skel/dot.ethna -> /tmp/sample/.ethna]
file generated [/usr/share/php/Ethna/skel/app.controller.php -> /tmp/sample/app/Sample_Controller.php]
file generated [/usr/share/php/Ethna/skel/app.error.php -> /tmp/sample/app/Sample_Error.php]
file generated [/usr/share/php/Ethna/skel/app.actionclass.php -> /tmp/sample/app/Sample_ActionClass.php]
file generated [/usr/share/php/Ethna/skel/app.actionform.php -> /tmp/sample/app/Sample_ActionForm.php]
file generated [/usr/share/php/Ethna/skel/app.viewclass.php -> /tmp/sample/app/Sample_ViewClass.php]
file generated [/usr/share/php/Ethna/skel/app.action.default.php -> /tmp/sample/app/action/Index.php]
file generated [/usr/share/php/Ethna/skel/app.plugin.filter.default.php -> /tmp/sample/app/plugin/Filter/Sample_Plugin_Filter_ExecutionTime.php]
file generated [/usr/share/php/Ethna/skel/app.view.default.php -> /tmp/sample/app/view/Index.php]
file generated [/usr/share/php/Ethna/skel/app.unittest.php -> /tmp/sample/app/Sample_UnitTestManager.php]
file generated [/usr/share/php/Ethna/skel/app.url_handler.php -> /tmp/sample/app/Sample_UrlHandler.php]
file generated [/usr/share/php/Ethna/skel/etc.ini.php -> /tmp/sample/etc/sample-ini.php]
file generated [/usr/share/php/Ethna/skel/skel.action.php -> /tmp/sample/skel/skel.action.php]
file generated [/usr/share/php/Ethna/skel/skel.action_cli.php -> /tmp/sample/skel/skel.action_cli.php]
file generated [/usr/share/php/Ethna/skel/skel.action_test.php -> /tmp/sample/skel/skel.action_test.php]
file generated [/usr/share/php/Ethna/skel/skel.app_object.php -> /tmp/sample/skel/skel.app_object.php]
file generated [/usr/share/php/Ethna/skel/skel.entry_www.php -> /tmp/sample/skel/skel.entry_www.php]
file generated [/usr/share/php/Ethna/skel/skel.entry_cli.php -> /tmp/sample/skel/skel.entry_cli.php]
file generated [/usr/share/php/Ethna/skel/skel.view.php -> /tmp/sample/skel/skel.view.php]
file generated [/usr/share/php/Ethna/skel/skel.template.tpl -> /tmp/sample/skel/skel.template.tpl]
file generated [/usr/share/php/Ethna/skel/skel.view_test.php -> /tmp/sample/skel/skel.view_test.php]
file generated [/usr/share/php/Ethna/skel/template.index.tpl -> /tmp/sample/template/ja/index.tpl]

project skelton for [sample] is successfully generated at [/tmp]

あとは、ドキュメントルートに ethna ディレクトリを作ってその中でシンボリックリンクを使ってコンテンツを展開

cd /var/www/html/ethna/
ln -s /home/foo/ethna/sampe/www/index.php .
cp -r /home/foo/ethna/sample/www/css ./css

これで、http://foo.com/ethna/ でコンテンツが表示されるようになりました。

実は、これはまとめたもので、作業開始から3時間程度試行錯誤しておりました。
パーミッションの問題とか・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

次の記事

再びPlaggerを試す