Just a simple strict-object trait.

1.0.1 2021-02-21 16:21 UTC

This package is auto-updated.

Last update: 2024-05-21 23:44:09 UTC


PHP tests

Avoid annoying problems caused by PHP being too lax when dealing with undeclared object properties. Let's be more strict. Don't let typos in property names ruin your day ever again. 🌞


composer require smuuf/strict-object


Simple, just use the \Smuuf\StrictObject trait in your class to make it strict - and to throw \LogicException when someone tries to read or to write to an undeclared property.


use \Smuuf\StrictObject;

require __DIR__ . '/../bootstrap.php';

class Whatever {

	use StrictObject;

	public $someProperty;


$obj = new Whatever;

$obj->someProperty = 1; // Ok.
echo $obj->someProperty; // Ok.

// But - and hold on to your hats...

$obj->bogusProperty = 1; // Throws \LogicException.
echo $obj->bogusProperty; // Throws \LogicException.