編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

コントローラ

アクションとテンプレートの構成例

showアクションを作成。URLは http://localhost/frontend_dev.php/goods/show になる。

  • actions/actions.class.php
    <?php
    class goodsActions extends sfActions
    {
      public function executeShow()
      {
         $this->mesg = 'SHOW!';
      }
    }
  • goods/templates/showSuccess.php
    <html>
    <body>
    <?php if ($mesg): ?>
    [<?php echo $mesg ?>]
    <?php endif; ?>
    </body>
    </html>

アクションからテンプレートに値を渡す

  • アクション
    public function executeIndex()
    {
      $this->setVar('foo', 'bar');
      $this->foo = 'bar';
    }
  • テンプレート
    <html><body>
    <?php echo $foo ?> <?php echo $bar ?>
    </body></html>

アクションでテンプレートを指定する

public function executeIndex()
{
  $this->setTemplate('foo');
}

apps/frontend/modules/XXX/templates/fooSuccess.php が呼ばれる。

リクエストオブジェクト

public function executeIndex(sfWebRequest $request)
{
   $name = $request->getPamareter('name', 'default_name');
}

リダイレクト

$this->redirect('/error/message'); 

(メソッドの)転送

$this->forward('top','index'); # topモジュールのindexメソッドへ転送

フラッシュ

$this->setFlash('mesg', 'エラーが発生しました'); # あるリクエストで設定する
↓ 
$mesg = $this->getFlash('mesg');                 # 次のリクエストで取得する
↓                                               # さらに次のリクエストではもう消えていて取得出来ない

テンプレートでフラッシュを参照する

<?php if($sf_flash->has('mesg')): ?>
 <?php $mesg = $sf_flash->get('mesg') ?>
<?php endif ?>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-08-10 (水) 16:15:03 (2444d)