PATH:
home
/
lab2454c
/
internationalminersbank.com
/
backup
/
vendor
/
symfony
/
var-dumper
/
Caster
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\VarDumper\Caster; use Symfony\Component\VarDumper\Cloner\Stub; /** * Represents a list of function arguments. * * @author Nicolas Grekas <p@tchwork.com> */ class ArgsStub extends EnumStub { private static $parameters = []; public function __construct(array $args, string $function, ?string $class) { [$variadic, $params] = self::getParameters($function, $class); $values = []; foreach ($args as $k => $v) { $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; } if (null === $params) { parent::__construct($values, false); return; } if (\count($values) < \count($params)) { $params = \array_slice($params, 0, \count($values)); } elseif (\count($values) > \count($params)) { $values[] = new EnumStub(array_splice($values, \count($params)), false); $params[] = $variadic; } if (['...'] === $params) { $this->dumpKeys = false; $this->value = $values[0]->value; } else { $this->value = array_combine($params, $values); } } private static function getParameters(string $function, ?string $class): array { if (isset(self::$parameters[$k = $class.'::'.$function])) { return self::$parameters[$k]; } try { $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function); } catch (\ReflectionException $e) { return [null, null]; } $variadic = '...'; $params = []; foreach ($r->getParameters() as $v) { $k = '$'.$v->name; if ($v->isPassedByReference()) { $k = '&'.$k; } if ($v->isVariadic()) { $variadic .= $k; } else { $params[] = $k; } } return self::$parameters[$k] = [$variadic, $params]; } }
[-] ExceptionCaster.php
[edit]
[-] PdoCaster.php
[edit]
[-] EnumStub.php
[edit]
[-] PgSqlCaster.php
[edit]
[-] DsPairStub.php
[edit]
[-] ResourceCaster.php
[edit]
[-] ClassStub.php
[edit]
[-] XmlReaderCaster.php
[edit]
[+]
..
[-] ImagineCaster.php
[edit]
[-] DateCaster.php
[edit]
[-] MemcachedCaster.php
[edit]
[-] Caster.php
[edit]
[-] AmqpCaster.php
[edit]
[-] GmpCaster.php
[edit]
[-] DoctrineCaster.php
[edit]
[-] FrameStub.php
[edit]
[-] ProxyManagerCaster.php
[edit]
[-] ConstStub.php
[edit]
[-] SplCaster.php
[edit]
[-] StubCaster.php
[edit]
[-] DOMCaster.php
[edit]
[-] DsCaster.php
[edit]
[-] SymfonyCaster.php
[edit]
[-] RedisCaster.php
[edit]
[-] ArgsStub.php
[edit]
[-] CutArrayStub.php
[edit]
[-] RdKafkaCaster.php
[edit]
[-] CutStub.php
[edit]
[-] IntlCaster.php
[edit]
[-] XmlResourceCaster.php
[edit]
[-] ReflectionCaster.php
[edit]
[-] UuidCaster.php
[edit]
[-] FiberCaster.php
[edit]
[-] TraceStub.php
[edit]
[-] ImgStub.php
[edit]
[-] LinkStub.php
[edit]