Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SerializableFieldsTrait.php

trait SerializableFieldsTrait

Provides common serialization functionality to fields

@psalm-immutable

Hierarchy

  • trait \Ramsey\Uuid\Fields\SerializableFieldsTrait
3 files declare their use of SerializableFieldsTrait
Fields.php in vendor/ramsey/uuid/src/Nonstandard/Fields.php
Fields.php in vendor/ramsey/uuid/src/Guid/Fields.php
Fields.php in vendor/ramsey/uuid/src/Rfc4122/Fields.php

File

vendor/ramsey/uuid/src/Fields/SerializableFieldsTrait.php, line 28

Namespace

Ramsey\Uuid\Fields
View source
trait SerializableFieldsTrait {
    
    /**
     * @param string $bytes The bytes that comprise the fields
     */
    public abstract function __construct(string $bytes);
    
    /**
     * Returns the bytes that comprise the fields
     */
    public abstract function getBytes() : string;
    
    /**
     * Returns a string representation of object
     */
    public function serialize() : string {
        return $this->getBytes();
    }
    
    /**
     * @return array{bytes: string}
     */
    public function __serialize() : array {
        return [
            'bytes' => $this->getBytes(),
        ];
    }
    
    /**
     * Constructs the object from a serialized string representation
     *
     * @param string $data The serialized string representation of the object
     *
     * @psalm-suppress UnusedMethodCall
     */
    public function unserialize(string $data) : void {
        if (strlen($data) === 16) {
            $this->__construct($data);
        }
        else {
            $this->__construct(base64_decode($data));
        }
    }
    
    /**
     * @param array{bytes?: string} $data
     *
     * @psalm-suppress UnusedMethodCall
     */
    public function __unserialize(array $data) : void {
        // @codeCoverageIgnoreStart
        if (!isset($data['bytes'])) {
            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
        }
        // @codeCoverageIgnoreEnd
        $this->unserialize($data['bytes']);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
SerializableFieldsTrait::getBytes abstract public function Returns the bytes that comprise the fields 1
SerializableFieldsTrait::serialize public function Returns a string representation of object
SerializableFieldsTrait::unserialize public function Constructs the object from a serialized string representation
SerializableFieldsTrait::__construct abstract public function 3
SerializableFieldsTrait::__serialize public function
SerializableFieldsTrait::__unserialize public function @psalm-suppress UnusedMethodCall

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal