ijvo / kdyby-strict-objects
Simple trait to make your class strict, when calling or accessing undefined member (property or method).
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-10-21 00:54:23 UTC
README
Simple set of traits to make your classes strict, when calling or accessing an undefined member (property or method).
This library is heavily inspired by Nette\ObjectMixin
.
Installation
The best way to install Kdyby/StrictObjects is using Composer:
composer require kdyby/strict-objects
Usage
Simply include the trait in your class and it will behave strictly!
use Kdyby\StrictObjects\Scream; class MyClass { use Scream; // my code }
If you for some reason can't or don't want to make all undefined property and method access strict, you can enable the behavior selectively by using specific traits:
Kdyby\StrictObjects\PropertyReadScreamer
: Will throw when attempting to read an undeclared property.Kdyby\StrictObjects\PropertyWriteScreamer
: Will throw when attempting to write to an undeclared property.Kdyby\StrictObjects\PropertyExistsScreamer
: Will throw when attempting to check existence of an undeclared property.Kdyby\StrictObjects\PropertyRemovalScreamer
: Will throw when attempting to unset an undeclared property.Kdyby\StrictObjects\InstanceMethodCallScreamer
: Will throw when attempting to call an undefined instance method.Kdyby\StrictObjects\StaticMethodCallScreamer
: Will throw when attempting to call an undefined static method.
For convenience, there are also:
Kdyby\StrictObjects\PropertyScreamer
: Combines all property access, will throw on any interaction.Kdyby\StrictObjects\MethodCallScreamer
: Combines both method call types, will throw for all methods.Kdyby\StrictObjects\Scream
combines all screamers into one.
Homepage https://www.kdyby.org and repository https://github.com/Kdyby/StrictObjects.