immutable
1.0.0
라이브러리는 모든 PHP 애플리케이션에 설치할 수 있습니다.
Composer
종속성 관리자 사용$ composer require phpfn/ immutable
라이브러리에 액세스하려면 파일에 vendor/autoload.php
포함해야 합니다.
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
객체의 면역성을 보장하려면 메소드의 코드를 클로저로 래핑하기만 하면 됩니다.
변경 가능한 객체의 예:
class Example
{
private int $ value = 42 ;
public function update ( int $ newValue ): self
{
$ this -> value = $ newValue ;
return $ this ;
}
}
immutable 만들기:
class Example
{
private int $ value = 42 ;
// Sample #1 (PHP 7.4+)
public function with ( int $ newValue ): self
{
return immutable ( fn () => $ this -> value = $ newValue );
}
}
그게 다야!