Download the PHP package sammakescode/actions without Composer
On this page you can find all versions of the php package sammakescode/actions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sammakescode/actions
More information about sammakescode/actions
Files in sammakescode/actions
Package actions
Short Description A standardised way to perform actions
License MIT
Homepage https://github.com/sammakescode/actions
Informations about the package actions
Actions
Introduction
This library is designed to facilitate contained, repeatable actions you might use throughout your application and enforce business rules on those actions.
Example use case
A hypothetical application might want to - for various reasons and in various places - cancel an order. In order to prevent duplication of logic, a developer might create something like a class called "CancelOrder" that defines that logic.
This library formalises that process and allows you to attach business logic to it. For example, if it's never possible to cancel an order that's been dispatched, you can define that logic within your action.
Requirements
- Composer
- PHP 8.2 or later
Installation
Usage
You can have a look at the tests directory for some examples, but here's a quick on your can have a look at.
Example
Define your business rules
Define your action
Perform your action
Note: When the perform() method is called on an action, the __call() magic method intercepts the request and calls the handle() method after any business rules have been run.
Shorthand actions
Instead of manually instantiating and performing you action, you can also use the ::do() shorthand.
Contributions
Contributions and issues are welcome. :)
FAQ
Isn't this just fancy conditional blocks?
Yes, but also no. The library allows you to wrap complex (or simple) sets of conditional statements into a block that can be reused in many places and standardises the exceptions that are thrown.