k1low / stateful-enum

为 CakePHP 3 设计的简单状态枚举插件

资助包维护!
k1LoW

安装次数: 2,530

依赖关系: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 2

公开问题: 0

类型:cakephp-plugin

v0.1.0 2016-04-06 06:03 UTC

This package is auto-updated.

Last update: 2024-09-06 09:29:29 UTC


README

安装

您可以使用composer将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方式是

composer require k1low/stateful-enum

用法

class BugsTable extends Table
{
    const STATUS_UNASSIGNED = 'unassigned';
    const STATUS_ASSIGNED = 'assigned';
    const STATUS_RESOLVED = 'resolved';
    const STATUS_CLOSED = 'closed';

    public $transitions = [
        'status' => [
            'assign' => [
                'from' => self::STATUS_UNASSIGNED,
                'to' => self::STATUS_ASSIGNED
            ],
            'resolve' => [
                [self::STATUS_ASSIGNED, self::STATUS_UNASSIGNED], // from
                self::STATUS_RESOLVED // to
            ],
            'close' => [
                [self::STATUS_ASSIGNED, self::STATUS_UNASSIGNED, self::STATUS_RESOLVED],
                self::STATUS_CLOSED
            ],
        ]
    ];

    public function initialize(array $config)
    {
        $this->primaryKey('id');
        $this->addBehavior('StatefulEnum.StatefulEnum');
    }
}

因此,此插件会自动设置构建状态规则。

参考资料

此插件受到https://github.com/amatsuda/stateful_enum的启发