Download the PHP package qirolab/laravel-bannable without Composer

On this page you can find all versions of the php package qirolab/laravel-bannable. 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 laravel-bannable

Laravel Bannable

Latest Version on Packagist GitHub Tests Action Status Styling Psalm GitHub

Laravel bannable package for blocking and banning Eloquent models. Using this package any model can be made bannable such as Organizations, Teams, Groups, and others.

Installation

Download package into the project using Composer.

Registering package

Laravel 5.5 (or higher) uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.

For Laravel 5.4 or earlier releases version include the service provider within app/config/app.php:

Prepare Migration

Now need to add nullable banned_at timestamp column to model. So, create a new migration file.

Add $table->timestamp('banned_at')->nullable(); in this new migration file as in below example.

Now run migration.

Prepare bannable model

Use Bannable trait in the Model as in below example.

Available methods

Ban model entity.

Ban model entity with reason comment

Ban model entity with expire time

Here expired_at attribute could be \Carbon\Carbon instance or any time string which could be parsed by \Carbon\Carbon::parse($string) method:

or

or

Remove ban model

On unban all related ban models are soft deletes.

Check if entity is banned

Check if entity is not banned

Delete expired bans manually

Scopes

Get all models which are not banned

Get banned and not banned models

Get only banned models

Disable scope that hides banned models entity by default

By default all banned models will be hidden. To disable query scopes all the time you can define disableBannedAtScope method in bannable model.

Events

On model entity ban \Qirolab\Laravel\Bannable\Events\ModelWasBanned event is fired.

On model entity unban \Qirolab\Laravel\Bannable\Events\ModelWasUnbanned event is fired.

Middleware

To prevent banned users to go to protected routes Qirolab\Laravel\Bannable\Middleware\ForbidBannedUser middleware is created.

Register it in $routeMiddleware array of app/Http/Kernel.php file:

protected $routeMiddleware = [ 'isBannedUser' => \Qirolab\Laravel\Bannable\Middleware\ForbidBannedUser::class, ]


All versions of laravel-bannable with dependencies

PHP Build Version
Package Version
Requires php Version >=7.3
illuminate/database Version ^8.0|^9.0|^10.0|^11.0
illuminate/events Version ^8.0|^9.0|^10.0|^11.0
illuminate/support Version ^8.0|^9.0|^10.0|^11.0
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 qirolab/laravel-bannable contains the following files

Loading the files please wait ....