Exemplo n.º 1
0
 protected function setParams(array $params = array())
 {
     $newParams = array();
     foreach ($params as $param) {
         $newParams[$param->getName()] = $param;
     }
     $this->paramReader->expects($this->any())->method('read')->with(new \ReflectionClass(ClassUtils::getClass($this->controller[0])), $this->controller[1])->willReturn($newParams);
 }
Exemplo n.º 2
0
 /**
  * Returns readable arguments from method.
  *
  * @param \ReflectionMethod $method
  *
  * @return \ReflectionParameter[]
  */
 private function getMethodArguments(\ReflectionMethod $method)
 {
     // ignore all query params
     $params = $this->paramReader->getParamsFromMethod($method);
     // ignore several type hinted arguments
     $ignoreClasses = [\Symfony\Component\HttpFoundation\Request::class, \FOS\RestBundle\Request\ParamFetcherInterface::class, \Symfony\Component\Validator\ConstraintViolationListInterface::class, \Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter::class];
     $arguments = [];
     foreach ($method->getParameters() as $argument) {
         if (isset($params[$argument->getName()])) {
             continue;
         }
         $argumentClass = $argument->getClass();
         if ($argumentClass) {
             $className = $argumentClass->getName();
             foreach ($ignoreClasses as $class) {
                 if ($className === $class || is_subclass_of($className, $class)) {
                     continue 2;
                 }
             }
         }
         $arguments[] = $argument;
     }
     return $arguments;
 }