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\FieldsView 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 |