dmytrof / model-flags
Adds flags support to your model/entity
Installs: 1 357
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9.5 || ^10.5
- squizlabs/php_codesniffer: ^3.8
- vimeo/psalm: ^5.18
README
====================
This ligrary helps you to add flags support to your models, entities etc.
Installation
$ composer require dmytrof/model-flags
Usage
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]