ヤミRoot VoidGate
User / IP
:
216.73.216.49
Host / Server
:
146.88.233.70 / www.dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
logercm
/
dev.loger.cm
/
vendor
/
friendsofsymfony
/
rest-bundle
/
Request
/
Viewing: ParamReader.php
<?php /* * This file is part of the FOSRestBundle package. * * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace FOS\RestBundle\Request; use Doctrine\Common\Annotations\Reader; use FOS\RestBundle\Controller\Annotations\ParamInterface; /** * Class loading "@ParamInterface" annotations from methods. * * @author Alexander <iam.asm89@gmail.com> * @author Lukas Kahwe Smith <smith@pooteeweet.org> * @author Boris Guéry <guery.b@gmail.com> */ final class ParamReader implements ParamReaderInterface { /** * @var Reader|null */ private $annotationReader; public function __construct(?Reader $annotationReader = null) { $this->annotationReader = $annotationReader; } /** * {@inheritdoc} */ public function read(\ReflectionClass $reflection, string $method): array { if (!$reflection->hasMethod($method)) { throw new \InvalidArgumentException(sprintf('Class "%s" has no method "%s".', $reflection->getName(), $method)); } $methodParams = $this->getParamsFromMethod($reflection->getMethod($method)); $classParams = $this->getParamsFromClass($reflection); return array_merge($methodParams, $classParams); } /** * {@inheritdoc} */ public function getParamsFromMethod(\ReflectionMethod $method): array { $annotations = []; if (\PHP_VERSION_ID >= 80000) { $annotations = $this->getParamsFromAttributes($method); } if (null !== $this->annotationReader) { $annotations = array_merge( $annotations, $this->annotationReader->getMethodAnnotations($method) ?? [] ); } return $this->getParamsFromAnnotationArray($annotations); } /** * {@inheritdoc} */ public function getParamsFromClass(\ReflectionClass $class): array { $annotations = []; if (\PHP_VERSION_ID >= 80000) { $annotations = $this->getParamsFromAttributes($class); } if (null !== $this->annotationReader) { $annotations = array_merge( $annotations, $this->annotationReader->getClassAnnotations($class) ?? [] ); } return $this->getParamsFromAnnotationArray($annotations); } /** * @return ParamInterface[] */ private function getParamsFromAnnotationArray(array $annotations): array { $params = []; foreach ($annotations as $annotation) { if ($annotation instanceof ParamInterface) { $params[$annotation->getName()] = $annotation; } } return $params; } /** * @param \ReflectionClass|\ReflectionMethod $reflection * * @return ParamInterface[] */ private function getParamsFromAttributes($reflection): array { $params = []; foreach ($reflection->getAttributes(ParamInterface::class, \ReflectionAttribute::IS_INSTANCEOF) as $attribute) { $param = $attribute->newInstance(); $params[$param->getName()] = $param; } return $params; } }
Coded With 💗 by
0x6ick