phpfn / immutable
Simple helper to ensure immutable objects
2.0.1
2020-11-22 21:15 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-12-23 06:43:16 UTC
README
Installation
Library can be installed into any PHP application:
$ composer require phpfn/immutable
In order to access library make sure to include vendor/autoload.php
in your file.
<?php require __DIR__ . '/vendor/autoload.php';
Usage
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!