コントローラの基本

Posted by muchag | Symfony 1.x |
初回投稿:2011-06-03 (金) 17:33:40 | 最終更新:2011-06-03 (金) 21:33:32

コントローラMVC の C 。

公式:Practical symfony 4日目: Controller と View

【環境】
[symfony] 1.4.11
役割

モデル から受け取った情報を処理・加工
および
ユーザからのリクエストを受け付け、それに沿った処理
そして、結果を ビュー へ渡す。
 

ネーミング
ファイル名
自動生成した場合

actions.class.php
 

クラス名
自動生成した場合

(モジュール名)+ Actions
例) jobActions
 

格納場所
apps\(アプリ名)\modules\(モジュール名)\actions

 

メソッド
定義済みメソッド

 

アクションメソッド

メソッドうちビューのための処理をするのが アクション 。
 

ネーミング

execute プレフィクスが付く。
例)executeIndex
 

ビューとの関係

executeIndex アクションと indexSuccess.php ビューが自動的に紐付けられる。
 

値の受け渡し

一般値
アクション内に以下のように記述することで

  1. $this->変数名 =;
  2.  
  3. 例)
  4. $this->author = 'Hoge';
  5. $this->blog_cms = array('WordPress', 'MovableType');

ビュー内で変数として値を利用できる。

  1. echo $author;
  2. // Hoge
  3.  
  4. echo $blog_cms[0];
  5. // WordPress

 
DB の値
モデルを利用して DB の値を受け渡すには

  1. $this->jobeet_jobs = Doctrine::getTable('JobeetJob')
  2.     ->createQuery('a')
  3.     ->execute();

としてやると、ビュー内で

  1. foreach ($jobeet_jobs as $->jobeet_job) {
  2.     echo $jobeet_job->getHowToApply();
  3. }

と、get + カラム名のキャメル記法 で、値を取れる。
 

ユーザリクエスト

アクションメソッドは

  1. public function executeIndex(sfWebRequest $request)

のように、HTML リクエストを引数としているので
これを用いて必要な処理を行える。

  1. $request->getParameter('id')

のようにして値を取得できる。
 

エラー処理
  1. $this->forward404Unless($this->job);
  2.  
  3. または
  4.  
  5. if (!$this->job)
  6. {
  7.     $this->forward404();
  8. }
  9.  
  10. または
  11.  
  12. if (!$this->job)
  13. {
  14.     $this->forward('default', '404');
  15. }

と記述することで、$this->job が true でない場合は
Default モジュールの 404 アクション(ページ)へ自動遷移する。
 

一般メソッド
Posted by muchag | Symfony 1.x |
初回投稿:2011-06-03 (金) 17:33:40 | 最終更新:2011-06-03 (金) 21:33:32

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment