[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/spomky-labs/cbor-php/src/ -> ByteStringObject.php (source)

   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  /*
   6   * The MIT License (MIT)
   7   *
   8   * Copyright (c) 2018-2020 Spomky-Labs
   9   *
  10   * This software may be modified and distributed under the terms
  11   * of the MIT license.  See the LICENSE file for details.
  12   */
  13  
  14  namespace CBOR;
  15  
  16  final class ByteStringObject extends AbstractCBORObject
  17  {
  18      private const MAJOR_TYPE = 0b010;
  19  
  20      /**
  21       * @var string
  22       */
  23      private $value;
  24  
  25      /**
  26       * @var int|null
  27       */
  28      private $length;
  29  
  30      public function __construct(string $data)
  31      {
  32          list($additionalInformation, $length) = LengthCalculator::getLengthOfString($data);
  33  
  34          parent::__construct(self::MAJOR_TYPE, $additionalInformation);
  35          $this->length = $length;
  36          $this->value = $data;
  37      }
  38  
  39      public function __toString(): string
  40      {
  41          $result = parent::__toString();
  42          if (null !== $this->length) {
  43              $result .= $this->length;
  44          }
  45          $result .= $this->value;
  46  
  47          return $result;
  48      }
  49  
  50      public function getValue(): string
  51      {
  52          return $this->value;
  53      }
  54  
  55      public function getLength(): int
  56      {
  57          return mb_strlen($this->value, '8bit');
  58      }
  59  
  60      public function getNormalizedData(bool $ignoreTags = false): string
  61      {
  62          return $this->value;
  63      }
  64  }


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