marcopetersen / php-chain
Installs: 13 227
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.7.15
This package is not auto-updated.
Last update: 2025-06-19 18:33:55 UTC
README
An implementation of the chain-of-responsibility pattern in PHP.
Installation
composer require marcopetersen/php-chain
Usage
<?php use MarcoPetersen\Chain\Chain; use MarcoPetersen\Chain\Link; // First we define the links that will be part of our chain... class AddOne extends Link { public function execute($number) { return $this->next($number + 1); } } class EndChain extends Link { public function execute($payload) { return $payload; } } // ...after which we chain them up together. $chain = (new Chain()) ->then(new AddOne()) // you can pass in instances... ->then(AddOne::class) // ...or just the FQCN, if you prefer. ->then(EndChain::class) // To end the chain, just don't call `next`. ->then(AddOne::class) // This won't get called. $chain->execute(1); // 3