/** * creates params object form passed $requestParams * * @param \Zend\Console\Request|\Zend\Http\Request|\ArrayObject|Array $requestParams * @throws InvalidArgumentException * @return \VisioCrudModeler\Generator\Request\Console|\VisioCrudModeler\Generator\Request\Http|\VisioCrudModeler\Generator\Params|\VisioCrudModeler\Generator\ParamsInterface */ public static function factory($requestParams, array $defaultParams = array()) { if ($requestParams instanceof \Zend\Console\Request) { return new Request\Console($defaultParams, $requestParams); } if ($requestParams instanceof \Zend\Http\Request) { return new Request\Http($defaultParams, $requestParams); } if ($requestParams instanceof \ArrayObject) { return new static(array_merge($defaultParams, $requestParams->getArrayCopy())); } if (is_array($requestParams)) { return new static(array_merge($defaultParams, $requestParams)); } throw new InvalidArgumentException('argumnet passed to method "' . __METHOD__ . '" is not resolvable to any params adapter, try simple array or ArrayObject'); }