context = $context; } public function match($pathinfo) { $allow = array(); $pathinfo = rawurldecode($pathinfo); $context = $this->context; $request = $this->request; // view.add if (0 === strpos($pathinfo, '/admin/view/add') && preg_match('#^/admin/view/add/(?P\\d+)$#s', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_viewadd; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'view.add')), array ( '_controller' => 'View\\Controller\\ViewController::createAction',)); } not_viewadd: throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); } }