2017-10-24 2 views
-1

로그 요청 세부 정보가있는 모델이 있습니다. 하지만 모델에서 요청 세부 정보를 검색하는 방법을 찾을 수 없습니다. 모델 생성자에서 서비스 관리자를 받았습니다.모델에서 요청 컨트롤러, 동작 및 모듈 이름을 검색하는 방법 또는 Service Manager (Zend Framework 2)를 사용하는 방법?

이것은 모듈, 컨트롤러 및 동작을 필요로하는 제 모델입니다.

class LogHelpModel { 

    //$sm is the service manager. 
    public function __construct($sm) { 
     //How to retrieve module/controller/action here ? 
    } 
} 

다음은 내 모듈 구성입니다.

public function getServiceConfig() { 

    return array(
     'factories' => array(

      Application\Model\LogHelpModel' => function($sm) { 
       return new LogHelpModel($sm) ; 
      }, 

     ) 
    ); 
} 

모델에서 세부 정보를 얻는 방법 (또는 $ sm을 사용하는 방법)?

답변

1

당신은 mvc 이벤트를 얻을 수 있고 그 다음에 객체를 라우트하고 zf3에서 이벤트를 얻을 수 있습니다. Polly 역시 zf2에서 동일합니다. 여기에 zf3 코드가 있습니다 :

$sm->get('Application')->getMvcEvent()->getRoutMatch() 

당신이 찾고있는 대상입니다.

ps : 휴대 전화에 코드 블록이 없습니다.

+0

효과가있어 효과적입니다. $ sm-> get ('Application') -> getMvcEvent() -> getRouteMatch(); – tan

+0

답을 수정할 수 있습니까? – tan

+0

맞아. GetApplication MvcEvent 메서드입니다. 당신의 길은 용기로부터 appliaction을 얻는 방법입니다. –

관련 문제