コード例 #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;
 }