コード例 #1
0
 public function willRespondToRequest($controllerClass, Request $request)
 {
     if (!class_exists($controllerClass)) {
         throw new InvalidArgumentException('existing class name', $controllerClass);
     }
     if (!isset($controllerClass::$_ajaxAccess) || !is_array($controllerClass::$_ajaxAccess)) {
         return true;
     }
     $method = strtolower($request->getMethod());
     $accessControl = array_merge(array('get' => self::BOTH, 'post' => self::BOTH, 'put' => self::BOTH, 'delete' => self::BOTH), $controllerClass::$_ajaxAccess);
     if ($accessControl[$method] === self::NORMAL_ONLY && $request->isXmlHttpRequest() || $accessControl[$method] === self::AJAX_ONLY && !$request->isXmlHttpRequest()) {
         return false;
     }
     return true;
 }
コード例 #2
0
ファイル: Router.php プロジェクト: splot/framework
 /**
  * Tries to find a route for the given request.
  * 
  * @param Request $request
  * @return array|bool Array of information about a found route or false if no route found.
  */
 public function getRouteForRequest(Request $request)
 {
     return $this->getRouteForUrl($request->getPathInfo(), $request->getMethod());
 }