ismailocal/whenable

PHP when, then, else 模式和 whenable 特性

dev-master 2019-08-14 18:00 UTC

This package is auto-updated.

Last update: 2024-09-15 06:50:31 UTC


README

带有 WhenableTrait 的用户类

class User{
    use \Ismailocal\Whenable\WhenableTrait;

    protected $id;
    protected $name;
    protected $active = true;

    public function __construct($id, $name)
    {
        $this->id = $id;
        $this->name = $name;
    }
    
    public function setPassive(){
      // Logic
    }
}

示例用法

$user = new User(1, 'ismailocal');

$user->when(function (){
    return $this->active;
})->then(function(){
    $this->setPassive();
})->else(function(){
    log($this->name +' not active user!')
});

无特性示例用法

$user = new User(1, 'ismailocal');

\Ismailocal\Whenable\Whenable::when(function () use($user){
    return $user->active;
})->then(function () use($user){
    $user->setPassive();
})->else(function () use($user){
    log($user->name +' not active user!')
});