PHPackages                             izniburak/bit-permission - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. izniburak/bit-permission

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

izniburak/bit-permission
========================

simple PHP bitwise control to check somethings like Permissions, Roles, etc.

v1.0.0(1y ago)8139MITPHPPHP ^8.1

Since Jun 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/izniburak/bit-permission)[ Packagist](https://packagist.org/packages/izniburak/bit-permission)[ Docs](https://github.com/izniburak/bit-permission)[ RSS](/packages/izniburak-bit-permission/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

PHP Bit Permission Check
------------------------

[](#php-bit-permission-check)

#### Check something like Permission, Roles, etc.. by using bitwise operations.

[](#check-something-like-permission-roles-etc-by-using-bitwise-operations)

```
  _     _ _                                    _         _
| |   (_) |                                  (_)       (_)
| |__  _| |_ ______ _ __   ___ _ __ _ __ ___  _ ___ ___ _  ___  _ __
| '_ \| | __|______| '_ \ / _ \ '__| '_ ` _ \| / __/ __| |/ _ \| '_ \
| |_) | | |_       | |_) |  __/ |  | | | | | | \__ \__ \ | (_) | | | |
|_.__/|_|\__|      | .__/ \___|_|  |_| |_| |_|_|___/___/_|\___/|_| |_|
                   | |
                   |_|

```

[![Tests](https://github.com/izniburak/bit-permission/actions/workflows/run-tests.yml/badge.svg)](https://github.com/izniburak/bit-permission/actions/workflows/run-tests.yml/badge.svg)[![Total Downloads](https://camo.githubusercontent.com/2e3f5d949986c72c957e7b8053045a9190a2f64a4f8908743cb7054350ffe8f9/68747470733a2f2f706f7365722e707567782e6f72672f697a6e69627572616b2f6269742d7065726d697373696f6e2f642f746f74616c2e737667)](https://packagist.org/packages/izniburak/bit-permission)[![Latest Stable Version](https://camo.githubusercontent.com/6a795de54c1bfefa3f39191ac4c93a8fff7701d53e5b71ec0cbe924472fbc202/68747470733a2f2f706f7365722e707567782e6f72672f697a6e69627572616b2f6269742d7065726d697373696f6e2f762f737461626c652e737667)](https://packagist.org/packages/izniburak/bit-permission)[![Latest Unstable Version](https://camo.githubusercontent.com/22130c304e4685afc3887e26c37782c0018145777c88b1ea7a06e78c969f1a27/68747470733a2f2f706f7365722e707567782e6f72672f697a6e69627572616b2f6269742d7065726d697373696f6e2f762f756e737461626c652e737667)](https://packagist.org/packages/izniburak/bit-permission)[![License](https://camo.githubusercontent.com/7cd0f8acec936e6c056d438a9403fc4415ee56e71ec4167cb509ad8860f099e7/68747470733a2f2f706f7365722e707567782e6f72672f697a6e69627572616b2f6269742d7065726d697373696f6e2f6c6963656e73652e737667)](https://packagist.org/packages/izniburak/bit-permission)

Install
-------

[](#install)

composer.json file:

```
{
    "require": {
        "izniburak/bit-permission": "^1.0"
    }
}
```

after run the install command.

```
$ composer install

```

OR run the following command directly.

```
$ composer require izniburak/bit-permission

```

Example Usage
-------------

[](#example-usage)

```
require 'vendor/autoload.php';

use Buki\BitPermission\Binary;
use Buki\BitPermission\Sequent;

// FOR ROLE MANAGEMENT
class Role
{
    const GUEST = 0;
    const USER = 1;
    const EDITOR = 2;
    const AUTHOR = 3;
    const ADMIN = 4;
    const ROOT = 5;
}

$role = new Sequent;
$role->add([Role::USER, Role::AUTHOR]);

$role->has(ROLE::USER); // true
$role->has(ROLE::AUTHOR); // true
$role->has(ROLE::EDITOR); // false

// FOR PERMISSION MANAGEMENT
class Permission
{
    // Each permission is represented by a single bit.
    const NONE = 0x0000; // 0000
    const READ = 0x0001; // 0001
    const WRITE = 0x0002; // 0010
    const UPDATE = 0x0004; // 0100
    const DELETE = 0x0008; // 1000
    const SUPER = 0x000f; // 1111
}

$permission = new Binary;
$permission->add([Permission::READ, Permission::WRITE]);

$permission->has(Permission::READ); // true
$permission->has(Permission::DELETE); // false
```

Also, you can use `Enum` for your permission or role definitions. *(or another things)*
Please check out the [tests](https://github.com/izniburak/bit-permission/tree/main/tests) to review more use cases.

Support
-------

[](#support)

[izniburak's homepage](https://buki.dev)

[izniburak's twitter](https://twitter.com/izniburak)

Licence
-------

[](#licence)

[MIT Licence](http://opensource.org/licenses/MIT)

Contributing
------------

[](#contributing)

1. Fork it (  )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request

Contributors
------------

[](#contributors)

- [izniburak](https://github.com/izniburak) İzni Burak Demirtaş - creator, maintainer

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

705d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9ab12d522ab707c9e0474847ae8299a3a879e12a55dfbc8aebbd579fa6d54140?d=identicon)[izniburak](/maintainers/izniburak)

---

Top Contributors

[![izniburak](https://avatars.githubusercontent.com/u/4693615?v=4)](https://github.com/izniburak "izniburak (1 commits)")

---

Tags

checkpermissioncontrolrolebitwise

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/izniburak-bit-permission/health.svg)

```
[![Health](https://phpackages.com/badges/izniburak-bit-permission/health.svg)](https://phpackages.com/packages/izniburak-bit-permission)
```

###  Alternatives

[sereny/nova-permissions

Laravel Nova - Roles &amp; Permissions

86388.6k1](/packages/sereny-nova-permissions)[efficiently/authority-controller

AuthorityController is an PHP authorization library for Laravel 5 which restricts what resources a given user is allowed to access.

15533.2k](/packages/efficiently-authority-controller)[itstructure/laravel-rbac

Laravel package for RBAC manage

566.6k](/packages/itstructure-laravel-rbac)[dlnsk/h-rbac

Based on native Laravel's gates and policies. Hierarchical RBAC with callbacks.

378.3k](/packages/dlnsk-h-rbac)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
