PHP code example of phpgears / immutability
1. Go to this page and download the library: Download phpgears/immutability library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
phpgears / immutability example snippets
use Gears\Immutability\ImmutabilityBehaviour;
interface MyInterface extends \Serializable
{
/**
* @return string
*/
public function getParameter(): string;
}
final class MyClass implements MyInterface
{
use ImmutabilityBehaviour;
protected function __construct()
{
$this->assertImmutable();
}
/**
* Static methods are allowed.
*/
public static function instance(): self
{
return new self();
}
/**
* Method allowed because it's defined in the interface.
*/
public function getParameter(): string
{
return '';
}
/**
* Method allowed because it's defined in the \Serializable.
*/
public function serialize(): string
{
return '';
}
/**
* Method allowed because it's defined in the \Serializable.
*/
public function unserialize($serialized): void
{
$this->assertImmutable();
// unserialize
}
/**
* {@inheritdoc}
*/
protected function getAllowedInterfaces(): array
{
return [MyInterface::class];
}
}