Download the PHP package guava/simple-permissions without Composer

On this page you can find all versions of the php package guava/simple-permissions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package simple-permissions

Simple permission and role system for Laravel. Supports enums.

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This is an opinionated simple permissions & roles system for Laravel. It allows you to define roles and permissions as PHP classes and enums directly in your codebase. This allows for out of the box auto-completion support and superb developer experience.

Showcase

This is where your screenshots and videos should go. Remember to add them, so people see what your plugin does.

Support us

Your support is key to the continual advancement of our plugin. We appreciate every user who has contributed to our journey so far.

While our plugin is available for all to use, if you are utilizing it for commercial purposes and believe it adds significant value to your business, we kindly ask you to consider supporting us through GitHub Sponsors. This sponsorship will assist us in continuous development and maintenance to keep our plugin robust and up-to-date. Any amount you contribute will greatly help towards reaching our goals. Join us in making this plugin even better and driving further innovation.

Installation

You can install the package via composer:

You can publish and run the migrations with:

You have to reneme the migration: 0000_00_00_000000_create_permissions_table.php!

You can publish the config file with:

This is the contents of the published config file:

Usage

Model setup

You need to add the HasAccessControl trait to your models that you want to add roles and permissions to.

This will add all necesary relationships and methods to start using access control.

Creating permissions

Permissions can be created using an artisan command. Let's say you have a model Post and want to create permissions for handling access to the Post resource.

Simply run:

This will create a new enum in App\Auth\Permissions\PostPermissions with some predefined CRUD permissions:

Creating Roles

Roles can be created using an artisan command.

Simply run:

This will create a new role in App\Auth\Roles\SuperAdmin:

Checking if a user has a permission

You can use Laravel's built-in methods to check permissions:

For example if a user has permissions to view a post, you could do:

FilamentPHP integration

All you need to do in order to add access control to your filament resources is to implement the HasAuthorization trait in your resource and define the Permission enum.

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of simple-permissions with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version ^10.0|^11.0
spatie/laravel-package-tools Version ^1.14.0
spatie/php-structure-discoverer Version ^2.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package guava/simple-permissions contains the following files

Loading the files please wait ....