vertaalbureau-perfect / action-pattern
Action for small code bits, usable in laravel
Installs: 1 258
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
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
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');