PHPackages                             winponta/cani - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. winponta/cani

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

winponta/cani
=============

0.0.2(9y ago)1311[1 issues](https://github.com/winponta/cani/issues)[1 PRs](https://github.com/winponta/cani/pulls)PHP

Since Jul 20Pushed 9y ago2 watchersCompare

[ Source](https://github.com/winponta/cani)[ Packagist](https://packagist.org/packages/winponta/cani)[ RSS](/packages/winponta-cani/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Cani (Can I)
============

[](#cani-can-i)

Cani, or "Can I" project, is a Laravel 5 project that implement a simple ACL based on noSql databases. The first implementation is focused on MongoDB, using [jenssegers/mongodb](https://github.com/jenssegers/laravel-mongodb) driver.

This project is fully based on  package.

Warning
-------

[](#warning)

**WIP -- this project is in its initial development, please come back in a few days**

\*\* This project is tested on Laravel 5.2 version, not sure if all features work on 5.1. \*\*

Installation
------------

[](#installation)

In `composer.json`

```
"require": {
        ...
        "winponta/cani": "0.0.*",
        ...
    },
```

Then run `composer update`.

In `config/app.path` at providers section

`Winponta\Cani\Providers\CaniServiceProvider::class,`

In the same file, under the aliases array, you may want to add the Cani Facade.

`'Cani'  =>  Winponta\Cani\Facades\Cani::class,`

Save the file and then run:

`php artisan vendor:publish --provider="Winponta\Cani\Providers\CaniServiceProvider"`

This command will publish the cani's config file inside your config directory.

Configuration
-------------

[](#configuration)

Inside the `config/cani.php` you'll have the following options:

### Models

[](#models)

#### Permission

[](#permission)

Which Eloquent Model should be used to retrieve your permissions. Your model must implement the `Winponta\Cani\Contracts\Permission` contract.

#### Role

[](#role)

Which model should be used to retrieve your roles. Your model must implement the `Winponta\Cani\Contracts\Role` contract.

### Collections

[](#collections)

#### Users

[](#users)

The collection your application uses for users. This collection's model will be using the `CanHavePermissions` and `CanHaveRoles` traits.

#### Roles

[](#roles)

The collection your application uses for roles. When using the `CanHaveRoles` trait we need to know which collection should be used to retrieve your roles.

#### Permissions

[](#permissions)

The collection your application uses for permissions. When using the `CanHavePermissions` trait we need to know which collection should be used to retrieve your permissions.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.1% 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

Every ~75 days

Total

2

Last Release

3558d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ce895d349e8a9ffb29f182f3a54c0488c6b61c21c5d98b40752e03bf05496b7e?d=identicon)[nunomazer](/maintainers/nunomazer)

---

Top Contributors

[![nunomazer](https://avatars.githubusercontent.com/u/652935?v=4)](https://github.com/nunomazer "nunomazer (34 commits)")[![jpellissari](https://avatars.githubusercontent.com/u/12137302?v=4)](https://github.com/jpellissari "jpellissari (1 commits)")

### Embed Badge

![Health badge](/badges/winponta-cani/health.svg)

```
[![Health](https://phpackages.com/badges/winponta-cani/health.svg)](https://phpackages.com/packages/winponta-cani)
```

###  Alternatives

[appwrite/php-clamav

ClamAV network and pipe client for PHP

731.4M3](/packages/appwrite-php-clamav)[hermawan/codeigniter4-datatables

Serverside Datatables library for CodeIgniter4

11247.7k3](/packages/hermawan-codeigniter4-datatables)[qualityunit/tnef-decoder

TNEF Decoder library extracted from squirell mail plugin to decode winmail.dat file in email attachment

161.7M](/packages/qualityunit-tnef-decoder)

PHPackages © 2026

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