2009-03-07 5 views
1

Zend Framework에서 모든 응답 세그먼트를 얻으려면 어떻게해야합니까?

이제 내보기에서 현재 동작을 테스트 할 때 :

$request = Zend_Controller_Front::getInstance()->getRequest(); 
$action = $request->getActionName(); 

하나의 이름을 얻습니다. (무작위?) 작업을하지만 다른 테스트 해보고 싶습니다.

스택에있는 마지막 액션을 얻는 대신 특정 액션이 스택에있는 액션 중 하나인지 테스트 할 수 있습니까?

+0

그는 미치광이 야. –

+0

그리고 그는 매우 무례하고 무례한 행동! 그것은 – markus

+0

리치의 편집은 유효하다 ... 너무 많은 지금입니다. 논리적이지 않은 이유가 있다면 게시하십시오. 그렇지 않으면 개인적으로 받아들이지 말고 매일 수백 개의 게시물을 편집합니다. –

답변

2

확실히 무작위가 아니라 요청이 디스패처는 현재, 즉 처리된다. 액션 컨트롤러의 액션 메소드가 호출되어 뷰 스크립트가 실행되는 요청. 액션 스택 플러그인을 사용하면 운영자가 처리 할 요청을 하나씩 추가하기 만하면됩니다. 당신이 작업 스택에있는 모든 요청을 얻고 싶다면

직접 플러그인 작업 스택을 조회 할 수있다 : "내 게시물 풍부한 B를 편집하기 STOP"

<?php 
$front = Zend_Controller_Front::getInstance(); 
$plugin = $front->getPlugin('Zend_Controller_Plugin_ActionStack'); 

if ($plugin) { 
    $stack = $plugin->getStack(); 

    foreach ($stack as $request) { 
     $action = $request->getActionName(); 
     // Do whatever you want with $action 
    } 
} else { 
    // Not using the action stack 
    $action = $front->getRequest()->getActionName(); 
} 
?> 
관련 문제