spatie/laravel-or-abort

A trait to add OrAbort functions to a class

1.0.2 2015-06-30 11:17 UTC

This package is auto-updated.

Last update: 2020-06-26 08:00:08 UTC


README

Latest Version on Packagist Software License Build Status SensioLabsInsight Quality Score Total Downloads

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.

Support us

Learn how to create a package like this one, by watching our premium video course:

Laravel Package training

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.

Postcardware

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.

Install

You can install the package via composer:

$ composer require spatie/laravel-or-abort

Usage

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.

A word to the wise

The orAbort-trait uses the magic method __call. If your class already implements that call, you shouldn't use our trait.

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

Credits

About Spatie

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

License

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