THIS PACKAGE ISN'T MAINTAINED ANYMORE
This package adds an OrAbort
-trait to your Laravel project. You can use it for example to choose your abort code when a find
-call returns false.
$eloquentModel->findOrAbort($modelId, 500);
Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
You're free to use this package (it's MIT-licensed), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.
The best postcards will get published on the open source page on our website.
You can install the package via composer:
$ composer require spatie/laravel-or-abort
You can use the Spatie\OrAbort\OrAbort
-trait on any class you want. All the methods of the class
will gain orAbort
-variant. When the original function returns a falsy value Laravel's abort
-function
will be called with code 404.
Why in the world would you want use this trait?
If you use repositories you probably have written this kind of code:
$article = $articleRepository->find($articleId) ?: abort(404);
By using this trait on your repository you can write it a bit more readable:
$article = $articleRepository->findOrAbort($articleId);
You can even add an extra parameter to specify an abort code.
$article = $articleRepository->findOrAbort($articleId, 500);
If the find
-function on your repository returns a falsy value abort(500)
will be called.
The orAbort
-trait uses the magic method __call
. If your class already implements that call, you shouldn't
use our trait.
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.
Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
This package was inspired by this article by Edd Mann
The MIT License (MIT). Please see License File for more information.