<?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 the main properties of a PHP variable, pre-casted by a caster. * * @author Nicolas Grekas <p@tchwork.com> */ class CutStub extends Stub { public function __construct(mixed $value) { $this->value = $value; switch (\gettype($value)) { case 'object': $this->type = self::TYPE_OBJECT; $this->class = $value::class; if ($value instanceof \Closure) { ReflectionCaster::castClosure($value, [], $this, true, Caster::EXCLUDE_VERBOSE); } $this->cut = -1; break; case 'array': $this->type = self::TYPE_ARRAY; $this->class = self::ARRAY_ASSOC; $this->cut = $this->value = \count($value); break; case 'resource': case 'unknown type': case 'resource (closed)': $this->type = self::TYPE_RESOURCE; $this->handle = (int) $value; if ('Unknown' === $this->class = @get_resource_type($value)) { $this->class = 'Closed'; } $this->cut = -1; break; case 'string': $this->type = self::TYPE_STRING; $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY; $this->cut = self::STRING_BINARY === $this->class ? \strlen($value) : mb_strlen($value, 'UTF-8'); $this->value = ''; break; } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
AmqpCaster.php | File | 6.74 KB | 0644 |
|
ArgsStub.php | File | 2.32 KB | 0644 |
|
Caster.php | File | 6.01 KB | 0644 |
|
ClassStub.php | File | 3.87 KB | 0644 |
|
ConstStub.php | File | 768 B | 0644 |
|
CutArrayStub.php | File | 726 B | 0644 |
|
CutStub.php | File | 1.95 KB | 0644 |
|
DOMCaster.php | File | 9.07 KB | 0644 |
|
DateCaster.php | File | 4.89 KB | 0644 |
|
DoctrineCaster.php | File | 1.69 KB | 0644 |
|
DsCaster.php | File | 1.62 KB | 0644 |
|
DsPairStub.php | File | 658 B | 0644 |
|
EnumStub.php | File | 667 B | 0644 |
|
ExceptionCaster.php | File | 16.2 KB | 0644 |
|
FFICaster.php | File | 5.32 KB | 0644 |
|
FiberCaster.php | File | 1.08 KB | 0644 |
|
FrameStub.php | File | 770 B | 0644 |
|
GmpCaster.php | File | 781 B | 0644 |
|
ImagineCaster.php | File | 986 B | 0644 |
|
ImgStub.php | File | 663 B | 0644 |
|
IntlCaster.php | File | 8.89 KB | 0644 |
|
LinkStub.php | File | 3.38 KB | 0644 |
|
MemcachedCaster.php | File | 2.31 KB | 0644 |
|
MysqliCaster.php | File | 724 B | 0644 |
|
PdoCaster.php | File | 3.59 KB | 0644 |
|
PgSqlCaster.php | File | 5.51 KB | 0644 |
|
ProxyManagerCaster.php | File | 754 B | 0644 |
|
RdKafkaCaster.php | File | 4.72 KB | 0644 |
|
RedisCaster.php | File | 5.25 KB | 0644 |
|
ReflectionCaster.php | File | 15.08 KB | 0644 |
|
ResourceCaster.php | File | 2.97 KB | 0644 |
|
SplCaster.php | File | 7.46 KB | 0644 |
|
StubCaster.php | File | 2.17 KB | 0644 |
|
SymfonyCaster.php | File | 3.59 KB | 0644 |
|
TraceStub.php | File | 999 B | 0644 |
|
UuidCaster.php | File | 698 B | 0644 |
|
XmlReaderCaster.php | File | 3.31 KB | 0644 |
|
XmlResourceCaster.php | File | 2.55 KB | 0644 |
|