facebook twitter hatena line email

Php/ethnaメモ

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

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