2017 © Pedro PelĂĄez
 

library flags

Flags manager

image

rodeob/flags

Flags manager

  • Thursday, May 19, 2016
  • by rodeob
  • Repository
  • 0 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

RBFlags

PHP class and trait for manage / set / check flags (bitwise operations). You can organize flags into groups., (*1)

Requirements

  • PHP 5.5+

Installing

Flags is available through Packagist via Composer, (*2)

{
    "require": {
        "rodeob/flags": "0.*"
    }
}

Usage

This package include class and trait to use it in yours projects., (*3)

You can use rbFlags\Flags class to extend your class in which you want to use flags., (*4)

class MyClass extends rbFlags\Flags {}

Or you use the rbFlags\traits\Flags trait in your class, (*5)

class MyClass
{
    use \rbFlags\traits\Flags;
}

You can also use rbFlags\Flags class as standalone flags class., (*6)

$flags = new rbFlags\Flags();
$flags->setFlags(SOME_FLAG);
if ($flags->isFlagSet(SOME_FLAG) {}

Set flags

Method, (*7)

function setFlags($flags, $bag = FlagsClass::RBFLAGS_DEFAULT_BAG)

In class:, (*8)

$this->setFlags(self::SOME_FLAG);

Standalone:, (*9)

$flags = new rbFlags\Flags();
$flags->setFlags(SOME_FLAG);

Check flags

Method:, (*10)

function areFlagsSet($flags, $bag = FlagsClass::RBFLAGS_DEFAULT_BAG)

and alias:, (*11)

function isFlagSet($flag, $bag = FlagsClass::RBFLAGS_DEFAULT_BAG)

In class:, (*12)

if ($this->areFlagsSet(self::SOME_FLAG)) {}

Standalone:, (*13)

$flags = new rbFlags\Flags();
if ($flags->areFlagsSet(SOME_FLAG)) {}

If you check for multiple flags at once it checks if all flags are set, (*14)

$this->setFlags(self::SOME_FLAG | self::SOME_OTHER_FLAG1);
if ($this->areFlagsSet(self::SOME_FLAG | self::SOME_OTHER_FLAG1)) {} // true
if ($this->areFlagsSet(self::SOME_FLAG | self::SOME_OTHER_FLAG2)) {} // false

Flip flags

Method:, (*15)

function flipFlags($flags, $bag = FlagsClass::RBFLAGS_DEFAULT_BAG)

In class:, (*16)

$this->flipFlags(self::SOME_FLAG)

Standalone:, (*17)

$flags = new rbFlags\Flags();
$flags->flipFlags(SOME_FLAG)

Unset flags

Method:, (*18)

function unsetFlags($flags, $bag = FlagsClass::RBFLAGS_DEFAULT_BAG)

In class:, (*19)

$this->unsetFlags(self::SOME_FLAG)

Standalone:, (*20)

$flags = new rbFlags\Flags();
$flags->unsetFlags(SOME_FLAG)

Multiple flags

In all methods you can, for flags parameter, use mutiple flags at once., (*21)

$this->setFlags(self::SOME_FLAG | self::SOME_OTHER_FLAG);
if ($this->areFlagsSet(self::SOME_FLAG | self::SOME_OTHER_FLAG)) {}
$this->flipFlags(self::SOME_FLAG | self::SOME_OTHER_FLAG)
$this->unsetFlags(self::SOME_FLAG | self::SOME_OTHER_FLAG)

Flags bag (groups)

All methods accept also flags bag parameter to organize flags into groups. If you omit this parameter default bag (group) is used., (*22)

$this->setFlags(self::SOME_FLAG, 'bagName');
if ($this->areFlagsSet(self::SOME_FLAG, 'bagName')) {}
$this->flipFlags(self::SOME_FLAG, 'bagName')
$this->unsetFlags(self::SOME_FLAG, 'bagName')

Chaining

Methods support chaining., (*23)

$this->setFlags(self::SOME_FLAG)
    ->flipFlags(self::SOME_FLAG)
    ->unsetFlags(self::SOME_FLAG);

The Versions

19/05 2016

dev-master

9999999-dev

Flags manager

  Sources   Download

MIT

The Requires

  • php >=5.5

 

The Development Requires

by BlaĆŸ Strmole

php flags

19/05 2016

dev-develop

dev-develop

Flags manager

  Sources   Download

MIT

The Requires

  • php >=5.5

 

The Development Requires

by BlaĆŸ Strmole

php flags

19/05 2016

v0.1.2

0.1.2.0

Flags manager

  Sources   Download

MIT

The Requires

  • php >=5.5

 

The Development Requires

by BlaĆŸ Strmole

php flags

19/05 2016

v0.1.1

0.1.1.0

Flags manager

  Sources   Download

The Requires

  • php >=5.5

 

The Development Requires

by BlaĆŸ Strmole

php flags

19/05 2016

v0.1

0.1.0.0

Flags manager

  Sources   Download

The Requires

  • php >=5.5

 

The Development Requires

by BlaĆŸ Strmole

php flags