Actions: controller + auth + validation in one class
This package provides only one class: an Action class that extends the FormRequest class we all know and adapt it slightly so it works as an invokable Controller.
Installation
composer require therealedatta/laravel-actions
php artisan actions:install
You can publish the action stubs for the make:action commad:
php artisan actions:stubs
Usage
php artisan make:action User\EditUser
This command will create the User\Actions\EditUser
class. The actions subfolder can be modified/removed in in the config/actions.php
file. The stub used to generate the class can be modified publishing the stub (check installation section).
handle
should execute the action itself and __invoke
(or any other method you want to call) should call handle and return the controller response.
This package executes authorization automatically. By default is true, you can change this in the config/actions.php
file.
Important: This package does not call validate automatically. You should call validate
in handle
method.
public function handle(): User
{
$validated_data = $this->validate();
return tap($this->user)->update($validated_data);
}
Testing
We use pint for styling, larastan for static analysis and pest for testing:
composer test
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
-
Authors:
-
Inspiration:
License
The MIT License (MIT). Please see License File for more information.