Library can be installed into any PHP application:
$ composer require phpfn/immutableIn order to access library make sure to include vendor/autoload.php
in your file.
<?php
require __DIR__ . '/vendor/autoload.php';To ensure immunity of objects, you just need to wrap any code of your method in a closure.
Mutable object example:
class Example
{
    private int $value = 42;
    public function update(int $newValue): self
    {
        $this->value = $newValue;
    
        return $this;
    }
}Making it immutable:
class Example
{
    private int $value = 42;
    // Sample #1 (PHP 7.4+)
    public function with(int $newValue): self
    {
        return immutable(fn () => $this->value = $newValue);
    }
}That`s all!