「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');
