PHPackages                             tanigami/specification - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tanigami/specification

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tanigami/specification
======================

Basic classes for Specification pattern in PHP.

v1.3.2(2y ago)3345.8k↓45.7%51MITPHPPHP &gt;=7.0

Since Nov 19Pushed 2y ago1 watchersCompare

[ Source](https://github.com/tanigami/specification-php)[ Packagist](https://packagist.org/packages/tanigami/specification)[ RSS](/packages/tanigami-specification/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (2)Versions (9)Used By (1)

PHP Specification
=================

[](#php-specification)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/85bfd7cc360ad882a1d476a3d2b24a626e42f70fdbca1cb4957e7eb3949d360e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74616e6967616d692f73706563696669636174696f6e2d7068702f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/tanigami/specification-php/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/b7c1abd99553d146c380eb6aab2a825b2715367c7de193c3ff04bbd660139256/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74616e6967616d692f73706563696669636174696f6e2d7068702f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/tanigami/specification-php/?branch=master)[![Build Status](https://camo.githubusercontent.com/ee101f196dc8fa5aef47bf35fd5e0b78178a728f9b71adab29f8f9e02aad79c0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74616e6967616d692f73706563696669636174696f6e2d7068702f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/tanigami/specification-php/build-status/master)

Basic classes for [Specification pattern](https://en.wikipedia.org/wiki/Specification_pattern) in PHP. On top of the typical set of `and`, `or` and `not` specificaitons, `anyOf`, `oneOf`, `noneOf` specifications are proposed.

This package is based on the implementation in [carlosbuenosvinos/ddd](https://github.com/dddinphp/ddd).

Installation
------------

[](#installation)

```
$ composer require tanigami/specification

```

Usage example
-------------

[](#usage-example)

```
