dmytrof/model-flags

为您的模型/实体添加标志支持

v1.1 2023-12-29 00:00 UTC

This package is auto-updated.

Last update: 2024-09-29 13:16:27 UTC


README

====================

这个库可以帮助您为模型、实体等添加标志支持。

安装

$ composer require dmytrof/model-flags 

使用

class Blog implements ModelWithFlagsInterface 
{
    use ModelWithFlagsTrait;

    public const SOME_FLAG1 = 1;
    public const SOME_FLAG2 = 'FLAG_2';

    ...............
};

$blog = new Blog();
$blog->hasFlag(Blog::SOME_FLAG1); // false

// Add flags
$blog
    ->setFlag(Blog::SOME_FLAG1)
    ->setFlag(Blog::SOME_FLAG2)
    ->setFlag('myFlag', false)
; 

// Get flugs
$flags = $blog->getFlugs(); // [1 => true, 'FLAG_2' => true, 'myFlag' => false]

// Check flag
$blog->hasFlag(Blog::SOME_FLAG1); // true
$blog->hasFlag('myFlag'); // false

$blog->popFlag(Blog::SOME_FLAG2); // true
$blog->popFlag(Blog::SOME_FLAG2); // false

// Remove flag
$blog->removeFlag('myFlag');

$flags = $blog->getFlugs(); // [1 => true]