jclaveau/php-fluent-trait

收集实现流畅语法的常见方法特性

1.3.0 2019-11-06 14:58 UTC

This package is auto-updated.

Last update: 2024-09-05 11:26:59 UTC


README

这些特性收集了一些实现流畅语法的类的一些常用方法。

质量

Build Status Scrutinizer Code Quality

安装

php-fluent-traits 可以通过 Composer 安装

composer require jclaveau/php-fluent-traits

使用方法

class FluentObject
{
    use JClaveau\Traits\Fluent\New_;
    use JClaveau\Traits\Fluent\Clone_;
    use JClaveau\Traits\Fluent\DefineAs;
    use JClaveau\Traits\Fluent\DefineCloneAs;
    use JClaveau\Traits\Fluent\Dump;
    
    protected $name;
    
    public function setName($name)
    {
        $this->name = $name;
        return $this;
    }
}

$instance = FluentObject::new_()
    ->setName('Foo')
    ->dump()                // FluentObject #1 Foo
    ->defineAs($fooObject1)
    ->clone_()
    ->dump()                // FluentObject #2 Foo
    ->defineCloneAs($barObject2)
    ->setName('Bar')
    ->dump()                // FluentObject #2 Bar
    ;
    
$fooObject1->dump(); // FluentObject #1 Foo
$barObject2->dump(); // FluentObject #3 Foo
$instance->dump();   // FluentObject #2 Bar