/** * @return Collection */ public function getMagicMethods() { /** @var Collection $methodTags */ $methodTags = clone $this->getTags()->get('method', new Collection()); $methods = new Collection(); /** @var Tag\MethodDescriptor $methodTag */ foreach ($methodTags as $methodTag) { $method = new MethodDescriptor(); $method->setName($methodTag->getMethodName()); $method->setDescription($methodTag->getDescription()); $method->setParent($this); $methods->add($method); } return $methods; }
/** * @return Collection */ public function getMagicMethods() { /** @var Collection $methodTags */ $methodTags = clone $this->getTags()->get('method', new Collection()); if ($this->getParent() instanceof static) { $methodTags->merge($this->getParent()->getMagicMethods()); } $methods = new Collection(); /** @var Tag\MethodDescriptor $methodTag */ foreach ($methodTags as $methodTag) { $method = new MethodDescriptor(); $method->setName($methodTag->getVariableName()); $method->setDescription($methodTag->getDescription()); $methods->add($method); } return $methods; }
/** * @return Collection */ public function getMagicMethods() { /** @var Collection $methodTags */ $methodTags = clone $this->getTags()->get('method', new Collection()); $methods = new Collection(); /** @var Tag\MethodDescriptor $methodTag */ foreach ($methodTags as $methodTag) { $method = new MethodDescriptor(); $method->setName($methodTag->getMethodName()); $method->setDescription($methodTag->getDescription()); $method->setParent($this); $returnTags = $method->getTags()->get('return', new Collection()); $returnTags->add($methodTag->getResponse()); foreach ($methodTag->getArguments() as $name => $argument) { $method->getArguments()->set($name, $argument); } $methods->add($method); } if ($this->getParent() instanceof static) { $methods = $methods->merge($this->getParent()->getMagicMethods()); } return $methods; }