Example #1
0
 static function create($specs, $values = array(), $arguments = null)
 {
     $new = new self();
     foreach ($specs as $spec) {
         $id = $spec->getId();
         if (isset($values[$id])) {
             $new->{$id} = $spec;
             $spec->setValue($values[$id]);
         }
         if ($arguments) {
             foreach ($arguments as $arg) {
                 $new->addArgument(new Argument($arg));
             }
         }
     }
     return $new;
 }
 /**
  * Creates a method from Reflection Method.
  *
  * @param \ReflectionMethod $reflected
  *
  * @return Method
  */
 public static function createFromReflection(\ReflectionMethod $reflected)
 {
     $method = new self();
     $method->setName($reflected->getName());
     foreach ($reflected->getParameters() as $parameterReflected) {
         $argument = new Argument();
         $argument->setName($parameterReflected->getName());
         $method->addArgument($argument);
     }
     return $method;
 }