/** * @param Event $event * @param MvcDispatcher $dispatcher */ public function beforeExecuteRoute(Event $event, MvcDispatcher $dispatcher) { if ($dispatcher->getNamespaceName() !== $dispatcher->getDefaultNamespace()) { /** @var MvcView $view */ $view = $dispatcher->getDI()->get('view'); if ($view->isDisabled()) { return; } $viewPathParts = array_values(array_diff(explode('\\', strtolower($dispatcher->getHandlerClass())), explode('\\', strtolower($dispatcher->getDefaultNamespace())))); $viewPathParts[] = $dispatcher->getActionName(); $view->setLayout($viewPathParts[0]); $view->pick(implode(DIRECTORY_SEPARATOR, $viewPathParts)); } }