rikbruil / specification
A PHP implementation of the Specification-pattern
0.9.4
2015-03-12 21:26 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- fabpot/php-cs-fixer: ~1.5
- henrikbjorn/phpspec-code-coverage: ~1.0
- phpspec/phpspec: ~2.1@dev
- satooshi/php-coveralls: ~0.6
This package is not auto-updated.
Last update: 2026-03-15 01:48:31 UTC
README
PHP implementation of the Specification pattern
Usage
$overDue = new OverDueSpecification(); $noticeSent = new NoticeSentSpecification(); $inCollection = new InCollectionSpecification(); // example of specification pattern logic chaining $sendToCollection = $overDue->andX($noticeSent) ->not($inCollection); foreach ($service->getInvoices() as $currentInvoice) { if (! $sendToCollection->isSatisfiedBy($currentInvoice)) { continue; } $currentInvoice->sendToCollection(); }
Requirements
- PHP 5.3+
License
Specification is licensed under the MIT License - see the LICENSE file for details