vertaalbureau-perfect / action-pattern
Action for small code bits, usable in laravel
Package info
github.com/VBPdevelopment/action-pattern
pkg:composer/vertaalbureau-perfect/action-pattern
Requires
- php: >=7.4|^8.0|^8.1
- illuminate/console: ^8.0|9.*|^v10.26
- illuminate/container: ^8.0|^9.0|^v10.26.2
- phpunit/phpunit: ^9.5.4|^10.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Actions are meant to be very small, single purpose, bits of code.
Because of the small footprint actions are easy reusable.
Example use cases are:
- implementing third paty api calls
- Simple routine jobs
Installation
composer require vertaalbureau-perfect/action-pattern
Creating an Action
php artisan make:action [ActionName]
You can also create actions in sub namespaces:
php artisan make:action [SubNamespace]/[ActionName]
Actions are placed in your app/Actions folder.
Usage
Imagine a simple action to write something to the log:
class CreateLogAction extends AbstractAction { public function handle($message) { Log::debug($message); } }
And to use it we would simply call:
CreateLogAction::execute('Write me to the log please!');
Testing
For Testing purposes you can use the static fake method.
CreateLogAction::fake();
If your code depends on a return value from the action you can provide the return value in the fake method.
CreateLogAction::fake('Log Success');