定制 anfischer/specification 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

anfischer/specification

Composer 安装命令:

composer require anfischer/specification

包简介

A package containing base classes to be used as a starting ground for implementing the Specification pattern in PHP.

README 文档

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

A package containing base classes to be used as a starting ground for implementation of the Specification pattern in PHP (for more information see https://martinfowler.com/apsupp/spec.pdf).

This package includes the typical set of and(), or() and not() specifications as well as specifications for allOf(), anyOf() and noneOf().

Install

Via Composer

$ composer require anfischer/specification

Usage

General usage of this package can be inferred from its test cases.
However a very basic and simplified example of usage with a single specification to (not) satisfy might look like this:

use Anfischer\Specification\Specification;

class Invoice
{
    public function isOverdue()
    {
        /* Logic snip */
        return true;
    }
}

class OverdueInvoiceSpecification extends Specification
{
    public function isSatisfiedBy($invoice): bool
    {
        return $invoice->isOverdue();
    }
}

$overdue = new OverdueInvoiceSpecification;

// Will return true
$overdue->isSatisfiedBy(new Invoice);

// Will return false
$overdue->not()->isSatisfiedBy(new Invoice);

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email kontakt@season.dk instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 7
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-06-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固