コード例 #1
0
ファイル: Request.php プロジェクト: leedavis81/drest-common
 /**
  * Construct an instance of Drest Request object
  * @param mixed $request_object preferred router type
  * @param array $adapterClasses - an array of adapter classes available
  * @throws RequestException
  */
 public function __construct($request_object = null, array $adapterClasses = null)
 {
     // If none are passed use the default system adapters
     $adapterClasses = is_array($adapterClasses) ? $adapterClasses : self::$defaultAdapterClasses;
     $defaultClass = 'Symfony\\Component\\HttpFoundation\\Request';
     if (is_null($request_object)) {
         if (!class_exists($defaultClass)) {
             throw RequestException::noRequestObjectDefinedAndCantInstantiateDefaultType($defaultClass);
         }
         // Default to using symfony's request object
         /* @var \Symfony\Component\HttpFoundation\Request $defaultClass */
         $this->adapter = new Adapter\Symfony2($defaultClass::createFromGlobals());
     } else {
         if (is_object($request_object)) {
             foreach ($adapterClasses as $adapterClass) {
                 /* @var Adapter\AdapterInterface $adapterClass */
                 $adaptedClassName = $adapterClass::getAdaptedClassName();
                 if ($request_object instanceof $adaptedClassName) {
                     $adaptedObj = new $adapterClass($request_object);
                     if ($adaptedObj instanceof Adapter\AdapterAbstract) {
                         $this->adapter = $adaptedObj;
                         return;
                     }
                 }
             }
             throw RequestException::unknownAdapterForRequestObject($request_object);
         } else {
             throw RequestException::invalidRequestObjectPassed();
         }
     }
 }
コード例 #2
0
ファイル: Symfony2.php プロジェクト: leedavis81/drest-common
 /**
  * @see \DrestCommon\Request\Adapter\AdapterInterface::getHttpMethod()
  */
 public function getHttpMethod()
 {
     $const = 'METHOD_' . $this->getRequest()->getMethod();
     if (!defined('DrestCommon\\Request\\Request::' . $const)) {
         throw RequestException::unknownHttpVerb(get_class($this));
     }
     return constant('DrestCommon\\Request\\Request::' . $const);
 }