フレームワーク Ethna<br />Ethnaの紹介<br />株式会社 CyberX<br />エンジニア<br />石川泰式<br />
目次<br />Ethnaとは<br />Ethnaの動作イメージ<br />Ethnaのディレクトリ構成<br />Ethnaの簡単なプログラム<br />Actionの記述例<br />ActionFormの記述例<br />ActionC...
Ethnaとは<br />EthnaとはPHPフレームワークの一つ<br />読み方は「えすな」<br />Ethnaは、PHPを利用したウェブアプリケーションフレームワークで似たようなコードを書かなくてよいことを目標に作成しています。(本文ま...
Ethnaの動作イメージ<br />Ethna本家参照<br />URL : http://ethna.jp/ethna-document-tutorial-overview.html<br />
Ethnaのディレクトリ構成<br />app (アプリケーションのスクリプト)<br />action (アクションスクリプト)<br />action_cli(CLI用アクションスクリプト)<br />action_xmlrpc(XMLRP...
Actionの記述例<br />class Sample_Form_Login extends Ethna_ActionForm<br />{<br />// フォームの定義<br />var $form = array(<br />    )...
ActionFormの記述例<br />var $form = array(<br />    'id' => array(<br />        'type' => VAR_TYPE_STRING,<br />        'form_...
ActionClassの記述例<br />public function perform() {<br />$result = false;<br />    if ($this->af->validate() == 0) {<br />   ...
AppManagerとAppObjectの記述例<br /><?php<br />class Sample_UserInf extends Ethna_AppObject<br />{<br />}<br />class Sample_User...
テンプレートの記述例<br />{foreach from=$errors item=error}<br /><span style="color: #FF0000;">{$error}</span><br /><br />{/foreach}...
まとめ<br />メリット<br />国産(GREE)である.<br />ActionFormを扱える.<br />自動でエスケープしてくれる.<br />デフォルトでSmartyが使える.<br />PEARと連携している.<br />デメリ...
Ethnaの参考資料<br />本家<br />http://ethna.jp/<br />ダウンロード<br />http://ethna.jp/ethna-download.html<br />チュートリアル<br />http://eth...
Upcoming SlideShare
Loading in …5
×

フレームワーク Ethna

5,971 views

Published on

Cyberx
フレームワークEthna
発表資料

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,971
On SlideShare
0
From Embeds
0
Number of Embeds
2,635
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

フレームワーク Ethna

  1. 1. フレームワーク Ethna<br />Ethnaの紹介<br />株式会社 CyberX<br />エンジニア<br />石川泰式<br />
  2. 2. 目次<br />Ethnaとは<br />Ethnaの動作イメージ<br />Ethnaのディレクトリ構成<br />Ethnaの簡単なプログラム<br />Actionの記述例<br />ActionFormの記述例<br />ActionClassの記述例<br />AppManagerとAppObjectの記述例<br />テンプレートの記述例<br />まとめ<br />Ethnaの参考資料<br />
  3. 3. Ethnaとは<br />EthnaとはPHPフレームワークの一つ<br />読み方は「えすな」<br />Ethnaは、PHPを利用したウェブアプリケーションフレームワークで似たようなコードを書かなくてよいことを目標に作成しています。(本文まま)<br />最新の安定版は 2.5.0 (PHP 5.3非対応)<br />開発版は 2.6.0 beta2 (PHP 5.3対応)<br />利用例<br />GREE<br />ポケラボ<br />KLab など<br />
  4. 4. Ethnaの動作イメージ<br />Ethna本家参照<br />URL : http://ethna.jp/ethna-document-tutorial-overview.html<br />
  5. 5. Ethnaのディレクトリ構成<br />app (アプリケーションのスクリプト)<br />action (アクションスクリプト)<br />action_cli(CLI用アクションスクリプト)<br />action_xmlrpc(XMLRPC用アクションスクリプト)<br />plugin(フィルタスクリプト)<br />test (テストスクリプト)<br />view (ビュースクリプト)<br />bin (コマンドラインスクリプト)<br />etc (設定ファイル等)<br />lib (アプリケーションのライブラリ)<br />locale<br />ja_jp<br />log (ログファイル)<br />schema (DBスキーマ等)<br />skel(アプリケーション用スケルトンファイル)<br />template<br />ja_jp(テンプレートファイル)<br />tmp(一時ファイル)<br />www (ウェブ公開用ファイル)<br />css(CSSファイル)<br />js(JavaScriptファイル)<br />
  6. 6. Actionの記述例<br />class Sample_Form_Login extends Ethna_ActionForm<br />{<br />// フォームの定義<br />var $form = array(<br /> );<br />}<br />class Sample_Action_Login extends Ethna_ActionClass<br />{<br /> // 前処理<br /> public function prepare() {<br /> }<br /> // メイン処理<br /> public function perform() {<br /> }<br />}<br />
  7. 7. ActionFormの記述例<br />var $form = array(<br /> 'id' => array(<br /> 'type' => VAR_TYPE_STRING,<br /> 'form_type' => FORM_TYPE_TEXT,<br /> 'name' => 'ID',<br /> 'required' => true,<br /> ),<br /> 'passwd' => array(<br /> 'type' => VAR_TYPE_STRING,<br /> 'form_type' => FORM_TYPE_PASSWORD,<br /> 'name' => 'ログインパスワード',<br /> 'required' => true,<br /> ),<br />);<br />
  8. 8. ActionClassの記述例<br />public function perform() {<br />$result = false;<br /> if ($this->af->validate() == 0) {<br /> $id = $this->af->get('id');<br /> $passwd = $this->af->get('passwd');<br /> $userMng =& $this->backend->getManager("User");<br /> $result = $userMng->auth($id, $passwd);<br /> }<br /> if ($result === false) {<br /> $this->ae->add("loginerror", "ログインエラー");<br /> return "login";<br /> } else {<br /> return "mypage";<br /> }<br />}<br />
  9. 9. AppManagerとAppObjectの記述例<br /><?php<br />class Sample_UserInf extends Ethna_AppObject<br />{<br />}<br />class Sample_UserManager extends Ethna_AppManager<br />{<br /> public function auth($id, $passwd) {<br /> $userInf = $this->backend->getObject('UserInf', "id", $id);<br /> $pass = $userInf->get("passwd");<br /> if ($passwd == $pass && $pass != "") {<br /> return true;<br /> }<br /> return false;<br /> }<br />}<br />?><br />
  10. 10. テンプレートの記述例<br />{foreach from=$errors item=error}<br /><span style="color: #FF0000;">{$error}</span><br /><br />{/foreach}<br />{form ethna_action="login" action="/login.php"}<br />ID {form_input name="id" size="20"}<br /> パスワード {form_input name="passwd" size="8"}<br /> {form_submit value="ログイン"}<br />{/form}<br />
  11. 11. まとめ<br />メリット<br />国産(GREE)である.<br />ActionFormを扱える.<br />自動でエスケープしてくれる.<br />デフォルトでSmartyが使える.<br />PEARと連携している.<br />デメリット<br />リリースペースが遅い.<br />デフォルトでSmarty利用.<br />ドキュメントが少ない.<br />
  12. 12. Ethnaの参考資料<br />本家<br />http://ethna.jp/<br />ダウンロード<br />http://ethna.jp/ethna-download.html<br />チュートリアル<br />http://ethna.jp/ethna-document-tutorial.html<br />APIドキュメント<br />http://ethna.jp/doc/<br />

×