Exemple #1
0
 /**
  * Filterの処理を実行します。
  *
  */
 public function execute()
 {
     $clsname = get_class($this);
     // 現在のアクション名を取得
     $actionName = $this->actionChain->getCurActionName();
     // 実行対象かどうかのチェック
     $isTarget = $this->isTarget($actionName);
     if (!$isTarget) {
         $this->log->info("{$clsname} は実行対象外のためスキップします。");
     }
     // prefilterを実行
     if ($isTarget) {
         $this->log->debug("{$clsname}のprefilterを実行します。");
         $this->prefilter();
         $this->log->debug("{$clsname}のprefilterを実行しました。");
     }
     // filterChain
     $this->filterChain->execute();
     // postfilterを実行
     if ($isTarget) {
         $this->log->debug("{$clsname}のpostfilterを実行します。");
         $this->postfilter();
         $this->log->debug("{$clsname}のpostfilterを実行しました。");
     }
     return;
 }
Exemple #2
0
 /**
  * フレームワークを起動させる
  *
  * @access  public
  * @since   3.0.0
  */
 public function execute()
 {
     $this->log->debug("************** controller#execute called.");
     // デフォルトトランザクションをコンテナに登録
     $defaultTx = $this->txManager->getTransaction();
     $this->container->register('DefaultTx', $defaultTx);
     // 実行するActionを決定
     $actionName = $this->hook->makeActionName();
     if ($actionName == NULL) {
         throw new Teeple_Exception("アクションが特定できません。");
     }
     // 初期ActionをActionChainにセット
     $this->log->debug("****actionName: {$actionName}");
     try {
         $this->actionChain->add($actionName);
     } catch (Exception $e) {
         $this->log->warn($e->getMessage());
         $isContinue = $this->hook->actionClassNotFound($actionName);
         if (!$isContinue) {
             return;
         }
     }
     // FilterChainのセットアップと実行
     $this->filterChain->build();
     $this->filterChain->execute();
     //$this->filterChain->clear();
 }