ijvo/kdyby-strict-objects

一个简单的特性,用于使您的类在调用或访问未定义成员(属性或方法)时变得严格。

v2.0.2 2024-01-20 23:01 UTC

This package is auto-updated.

Last update: 2024-09-21 00:38:56 UTC


README

一组简单的特性,用于使您的类在调用或访问未定义成员(属性或方法)时变得严格。

Build Status Downloads this Month Latest stable Coverage Status

此库深受 Nette\ObjectMixin 启发。

安装

安装 Kdyby/StrictObjects 的最佳方式是使用 Composer

composer require kdyby/strict-objects

用法

只需在您的类中包含该特性,它就会表现得非常严格!

use Kdyby\StrictObjects\Scream;

class MyClass
{
    use Scream;

    // my code
}

如果您出于某种原因无法或不希望使所有未定义的属性和方法访问变得严格,您可以使用特定的特性来选择性启用此行为

  • Kdyby\StrictObjects\PropertyReadScreamer:尝试读取未声明属性时将抛出异常。
  • Kdyby\StrictObjects\PropertyWriteScreamer:尝试写入未声明属性时将抛出异常。
  • Kdyby\StrictObjects\PropertyExistsScreamer:尝试检查未声明属性的存在时将抛出异常。
  • Kdyby\StrictObjects\PropertyRemovalScreamer:尝试删除未声明属性时将抛出异常。
  • Kdyby\StrictObjects\InstanceMethodCallScreamer:尝试调用未定义的实例方法时将抛出异常。
  • Kdyby\StrictObjects\StaticMethodCallScreamer:尝试调用未定义的静态方法时将抛出异常。

为了方便,还有

  • Kdyby\StrictObjects\PropertyScreamer:结合所有属性访问,在任何交互时抛出异常。
  • Kdyby\StrictObjects\MethodCallScreamer:结合两种方法调用类型,对所有方法抛出异常。
  • Kdyby\StrictObjects\Scream 将所有 screamers 合并到一个。

主页 https://www.kdyby.org 和仓库 https://github.com/Kdyby/StrictObjects