ijvo / kdyby-strict-objects
一个简单的特性,用于使您的类在调用或访问未定义成员(属性或方法)时变得严格。
v2.0.2
2024-01-20 23:01 UTC
Requires
- php: ^7.2 || ^8.0
Requires (Dev)
- doctrine/coding-standard: ^4.0
- jakub-onderka/php-parallel-lint: ^1.0
- phpstan/phpstan: ^0.10.3
- phpunit/phpunit: ^7.3
- squizlabs/php_codesniffer: 3.3.1
This package is auto-updated.
Last update: 2024-09-21 00:38:56 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
:尝试检查未声明属性的存在时将抛出异常。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。