![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-di/src/Definition/Reflection/ |
<?php declare(strict_types=1); namespace Laminas\Di\Definition\Reflection; use Laminas\Di\Definition\ParameterInterface; use Laminas\Di\Exception\UnsupportedReflectionTypeException; use ReflectionNamedType; use ReflectionParameter; /** * This class specifies a method parameter for the di definition */ class Parameter implements ParameterInterface { /** @var ReflectionParameter */ protected $reflection; public function __construct(ReflectionParameter $reflection) { $this->reflection = $reflection; } /** * {@inheritDoc} * * @see ParameterInterface::getDefault() * * @return mixed */ public function getDefault() { return $this->reflection->getDefaultValue(); } /** * {@inheritDoc} * * @see ParameterInterface::getName() */ public function getName(): string { return $this->reflection->getName(); } /** * {@inheritDoc} * * @see ParameterInterface::getPosition() */ public function getPosition(): int { return $this->reflection->getPosition(); } /** * {@inheritDoc} * * @see ParameterInterface::getType() * * @throws UnsupportedReflectionTypeException */ public function getType(): ?string { $type = $this->reflection->getType(); if (! $type) { return null; } if (! $type instanceof ReflectionNamedType) { throw UnsupportedReflectionTypeException::fromUnionOrIntersectionType($type); } return $type->getName(); } /** * {@inheritDoc} * * @see ParameterInterface::isRequired() */ public function isRequired(): bool { return ! $this->reflection->isOptional(); } /** * {@inheritDoc} * * @see ParameterInterface::isScalar() * * @throws UnsupportedReflectionTypeException */ public function isBuiltin(): bool { $type = $this->reflection->getType(); if (! $type) { return false; } if (! $type instanceof ReflectionNamedType) { throw UnsupportedReflectionTypeException::fromUnionOrIntersectionType($type); } return $type->isBuiltin(); } }