ApiGen\Parser\Reflection\TokenReflection\ReflectionFactory::createParameterMagic PHP Method

createParameterMagic() public method

public createParameterMagic ( array $settings )
$settings array
    public function createParameterMagic(array $settings)
    {
        $reflection = new ReflectionParameterMagic($settings);
        return $this->setDependencies($reflection);
    }

Usage Example

 /**
  * @param ReflectionMethodMagic $method
  * @param string $args
  */
 private function attachMethodParameters(ReflectionMethodMagic $method, $args)
 {
     $parameters = [];
     foreach (array_filter(preg_split('~\\s*,\\s*~', $args)) as $position => $arg) {
         if (!preg_match(self::PATTERN_PARAMETER, $arg, $matches)) {
             // Wrong annotation format
             continue;
         }
         list(, $typeHint, $passedByReference, $name, $defaultValueDefinition) = $matches;
         $parameters[$name] = $this->reflectionFactory->createParameterMagic(['name' => $name, 'position' => $position, 'typeHint' => $typeHint, 'defaultValueDefinition' => $defaultValueDefinition, 'unlimited' => false, 'passedByReference' => $passedByReference === '&', 'declaringFunction' => $method]);
         $method->addAnnotation('param', ltrim(sprintf('%s $%s', $typeHint, $name)));
     }
     $method->setParameters($parameters);
 }