「Php/ethnaメモ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「=ethnaメモ= ==インストール== $ pear channel-discover pear.ethna.jp $ pear update-channels $ pear install -a ethna/ethna ==プロジェクト作成== phpイ...」) |
(→スケルトン作成) |
||
行23: | 行23: | ||
==スケルトン作成== | ==スケルトン作成== | ||
− | ethna add-action | + | ethna add-action *** |
− | ethna add-view -t | + | ethna add-view -t *** |
==記述メモ== | ==記述メモ== |
2020年9月14日 (月) 16:18時点における最新版
目次
ethnaメモ
インストール
$ pear channel-discover pear.ethna.jp $ pear update-channels $ pear install -a ethna/ethna
プロジェクト作成
phpインストールdirに移動
$ cd php-5.2.6
ethnaフォルダにsampleプロジェクト作成(フォルダは作成されている必要がある)
$ ethna add-project $ ethna add-project -b=d:/home/ethna sample
アンインストール
$ pear uninstall ethna/ethna
インストールプログラムの位置
D:\php-5.2.6\PEAR\Ethna
wwwルート
http://localhost/ethna/sample/www/
スケルトン作成
ethna add-action *** ethna add-view -t ***
記述メモ
actionはapp/actionへ記述する
actionとviewとの橋渡しは以下のようにする
$this->af->setApp("hoge", "piyo"); $this->af->getApp("hoge"); {$app.hoge}
form値は以下のように取得可能
$this->af->get("hoge"); {$form.hoge}
テンプレートに記載された$formはHTMLエスケープされている。 formはformクラスに定義しないと使用・表示できない。
入力エラー判定
if ($this->af->validate() > 0) { return 'login'; }
prepareメソッドに上記コードを入れることで↓のエラーが表示される。
テンプレートエラー表示
{if count($errors)} {foreach from=$errors item=error} {$error} {/foreach} {/if}
共通ロジックの書き方
マネージャーを作成し
$ ethna add-app-manager hoge
App_Controller.phpに以下追加
require_once 'Sample_HogeManager.php';
Actionに以下追加
$hoge = $this->backend->getManager('hoge');