2017-11-10 13 views
0

보기에서 일부 논리를 수행 할 수 있도록 현재 경로 이름을 얻으려고합니다. 컨트롤러에서가 아니라 뷰 내부에서이를 검색해야합니다. 예를 들어 laravel에서 경로를 테스트하려면 Request::is('admin/dashboard') 또는 Route::current()->getName()을 사용합니다.Zend Expressive의보기에서 현재 경로 이름을 가져 옵니까?

나는 여러 번 인터넷 검색을 해봤지만 어디에도이 대답을 찾지 못했습니다.

+2

현재 경로에 대한 기본보기 도우미가 없습니다. 컨트롤러에서 보내거나보기 도우미를 쓸 수 있습니다. MvcEvent의 "matchedRoute"메소드를 체크 아웃합니다. –

+0

당신은이 Zend_Controller_Front :: getInstance() -> getRequest() -> getControllerName();과 Zend_Controller_Front :: getInstance() -> getRequest() -> getActionName();을 사용하여 찾을 수 있습니다. –

+0

질문 [View-Zend Expressive에서 일치하는 경로 이름을 얻는 방법] (https://stackoverflow.com/questions/38078780/how-to-get-matched-route-name-in-view-zend-expressive/38101818) 및 그것에 대한 대답이 있습니다. – tasmaniski

답변

1

젠드 표현식에서는 route result에서 일치하는 경로를 얻을 수 있습니다.

$result = $request->getAttribute(RouteResult::class); 
$routeName = $result->getMatchedRouteName(); 

동작에서보기로 전달할 수 있습니다.

내가 항상 사용하는 변수들 중 일부는 TemplateRenderer 주위에 래퍼를 만들어 모든 요청에 ​​주입합니다.