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 );
}
}
僅此而已!