[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/symfony/var-dumper/Caster/ -> CutStub.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <[email protected]>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\VarDumper\Caster;
  13  
  14  use Symfony\Component\VarDumper\Cloner\Stub;
  15  
  16  /**
  17   * Represents the main properties of a PHP variable, pre-casted by a caster.
  18   *
  19   * @author Nicolas Grekas <[email protected]>
  20   */
  21  class CutStub extends Stub
  22  {
  23      public function __construct($value)
  24      {
  25          $this->value = $value;
  26  
  27          switch (\gettype($value)) {
  28              case 'object':
  29                  $this->type = self::TYPE_OBJECT;
  30                  $this->class = \get_class($value);
  31  
  32                  if ($value instanceof \Closure) {
  33                      ReflectionCaster::castClosure($value, [], $this, true, Caster::EXCLUDE_VERBOSE);
  34                  }
  35  
  36                  $this->cut = -1;
  37                  break;
  38  
  39              case 'array':
  40                  $this->type = self::TYPE_ARRAY;
  41                  $this->class = self::ARRAY_ASSOC;
  42                  $this->cut = $this->value = \count($value);
  43                  break;
  44  
  45              case 'resource':
  46              case 'unknown type':
  47              case 'resource (closed)':
  48                  $this->type = self::TYPE_RESOURCE;
  49                  $this->handle = (int) $value;
  50                  if ('Unknown' === $this->class = @get_resource_type($value)) {
  51                      $this->class = 'Closed';
  52                  }
  53                  $this->cut = -1;
  54                  break;
  55  
  56              case 'string':
  57                  $this->type = self::TYPE_STRING;
  58                  $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY;
  59                  $this->cut = self::STRING_BINARY === $this->class ? \strlen($value) : mb_strlen($value, 'UTF-8');
  60                  $this->value = '';
  61                  break;
  62          }
  63      }
  64  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer