laravel-or-abort

A trait to optionally abort a Laravel application

  • Owner: spatie/laravel-or-abort
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

A trait to optionally abort a Laravel application

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.

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, Samberstraat 69D, 2060 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.

Main metrics

Overview
Name With Ownerspatie/laravel-or-abort
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2015-06-17 11:28:16
Pushed At2022-01-19 10:46:17
Last Commit At2022-01-19 11:46:17
Release Count4
Last Release Name1.0.2 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count53
Watchers Count7
Fork Count2
Commits Count23
Has Issues Enabled
Issues Count1
Issue Open Count0
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private