dmytrof / model-flags
为您的模型/实体添加标志支持
v1.1
2023-12-29 00:00 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9.5 || ^10.5
- squizlabs/php_codesniffer: ^3.8
- vimeo/psalm: ^5.18
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]