facebook twitter hatena line email

「Php/ethnaメモ」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「=ethnaメモ= ==インストール== $ pear channel-discover pear.ethna.jp $ pear update-channels $ pear install -a ethna/ethna ==プロジェクト作成== phpイ...」)
 
(スケルトン作成)
 
行23: 行23:
  
 
==スケルトン作成==
 
==スケルトン作成==
  ethna add-action xxx
+
  ethna add-action ***
  ethna add-view -t xxx
+
  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');