2009-10-20 6 views
7

부트 스트랩 파일에서 URL 매개 변수를 캡처하려고하지만 여러 번 시도한 후에 할 수 없습니다.부트 스트랩에서 URL 매개 변수에 액세스하는 방법

나는이 시도했지만 작동하지 않습니다 :

protected function _initGetLang() { 
    $frontController = Zend_Controller_Front::getInstance(); 
    $lang= $frontController->getParam('lang'); 
} 

이 그것을 할 올바른 방법인가?

Thks.

답변

9

아직 디스패치/라우팅 프로세스를 거치지 않았으므로 부트 스트랩에서 요청 매개 변수에 액세스 할 수 없습니다. 나는 Controller Plugin을 사용하는 것이 더 나을 것이라고 생각합니다. URL을 기반으로하는 작업을 수행하는 것이 가장 좋습니다. 또는 부트 스트랩에서 절대적으로 수행해야하는 경우 getRequestUri() 또는 $_GET을 사용할 수 있습니다. 또는 직접 URL을 구문 분석 할 수있는 빠른 스크립트를 작성할 수 있습니다.

편집 : 플러그인이 작동하는 방법을 알아 냈 전에 과거에 이런 바보 같은 물건을했던

:

/** 
* Grab the module name without a request instance 
* 
* @return string The module name 
*/ 
public static function getModuleName() 
{ 
    $uri = ltrim($_SERVER["REQUEST_URI"], "/"); 
    $module = substr($uri, 0, strpos($uri, "/")); 
    return $module; 
} 

이 적어도 당신에게 모듈 이름을 줄 것이다 당신을 부트 스트랩에서 switch을 켤 수 있습니다. 당신은 플러그인을 제대로 수행하면 필요한 모든 것을 할 수 있어야합니다.

+2

이 Zend Devzone 기사도 참조하십시오. http://devzone.zend.com/article/3372 –

+0

답변을 주셔서 감사합니다. 이전에는 플러그인 방식을 시도했지만 원하는 방식대로하지 않았지만, 'lonut G. Stan'이 내가 잘못했는지 확인하기위한 기사를 읽으겠습니다. 작동하지 않으면 'Typeoneerror'가 제안하는 $ _GET 일을 할 것입니다. – elbicho

관련 문제