plaf/contract

此包最新版本(dev-master)没有可用的许可信息。

PHP 简单合约库

dev-master 2013-08-12 14:44 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:26:23 UTC


README

PHP 简单合约

Plaf - PHP 库的一部分:附加功能

确保合同在值类型/范围约束方面的合规性功能。这不应被视为验证,而是为程序员指定使用边界的说明。正确覆盖的代码将表现出可预测的行为:它将按其作者的预期工作,或者完全不工作。

使用示例

use Plaf\Contract\Contract;

class EntitySaver {

    public function saveEntity($entity) {
        Contract::ensureNotNull($entity);
    }

}


use Plaf\Contract\Contract;

class Order {

    const STATE_NEW;
    const STATE_PREPARING;
    const STATE_SHIPPED;
    const STATE_COMPLETED;

    private $state;

    public function setState($state) {
        Contract::ensureInArray($state, array(
            self::STATE_NEW,
            self::STATE_PREPARING,
            self::STATE_SHIPPED,
            self::STATE_COMPLETED
        ));
    }

}