kdyby / strict-objects
一个简单的特性,使得类在调用或访问未定义成员(属性或方法)时变得严格。
v2.0.1
2020-12-16 07:22 UTC
Requires
- php: ^7.1
Requires (Dev)
- jakub-onderka/php-parallel-lint: ^1.0
- kdyby/coding-standard: ^1.0@dev
- nette/tester: ~2.3.1
- phpstan/phpstan-shim: ^0.11
This package is auto-updated.
Last update: 2024-09-08 00:04:33 UTC
README
一组简单的特性,使得类在调用或访问未定义成员(属性或方法)时变得严格。
这个库受到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
:尝试检查未声明属性的 existence 时将抛出异常。Kdyby\StrictObjects\PropertyRemovalScreamer
:尝试取消设置未声明的属性时将抛出异常。Kdyby\StrictObjects\InstanceMethodCallScreamer
:尝试调用未定义的实例方法时将抛出异常。Kdyby\StrictObjects\StaticMethodCallScreamer
:尝试调用未定义的静态方法时将抛出异常。
为了方便,还有
Kdyby\StrictObjects\PropertyScreamer
:合并所有属性访问,任何交互都会抛出异常。Kdyby\StrictObjects\MethodCallScreamer
:合并两种方法调用类型,所有方法都会抛出异常。Kdyby\StrictObjects\Scream
将所有screamer合并为一个。
主页 https://www.kdyby.org 和仓库 https://github.com/Kdyby/StrictObjects.