/** * Validate uri path against the request * @param \Exedra\Http\ServerRequest $request * @param string $path * @return array */ public function validate(\Exedra\Http\ServerRequest $request, $path) { // print_r($query);die; foreach (array('method', 'path', 'ajax') as $key) { // if this parameter wasn't set, skip validation. if (!$this->hasProperty($key)) { continue; } switch ($key) { case 'method': $value = $request->getMethod(); // return false because method doesn't exist. if (!in_array(strtolower($value), $this->getProperty('method'))) { return array('route' => false, 'parameter' => false, 'continue' => false); } break; case 'path': $result = $this->validatePath($path); if (!$result['matched']) { return array('route' => false, 'parameter' => $result['parameter'], 'continue' => $result['continue']); } return array('route' => $this, 'parameter' => $result['parameter'], 'continue' => $result['continue']); break; case 'ajax': if ($request->isAjax() != $this->getProperty('ajax')) { return array('route' => false, 'parameter' => false, 'continue' => false); } break; } } return array('route' => false, 'parameter' => array(), 'continue' => false); }