dealnews / typed-objects
Base classes for creating objects with typed/constrained properties
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 7
Forks: 1
Open Issues: 0
pkg:composer/dealnews/typed-objects
Requires
- php: >=7.1.0
- dealnews/constraints: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2025-10-09 03:21:38 UTC
README
A library for creating PHP objects with typed properties.
It supports all of the types that are supported by dealnews/constraints.
Object with Typed Properties Example
// A very simple example class Foo extends \DealNews\TypedObjects\TypedProperty { protected $id; protected $name; const CONSTRAINTS = [ "id" => [ "type" => "integer" ], "name" => [ "type" => "string" ], ]; } $foo = new Foo(); $foo->id = "1"; // will be integer 1 $foo->id = "string"; // will throw an exception
Typed Array Example
class FooSet extends \DealNews\TypedObjects\TypedArray { const REQUIRED_TYPE = "Foo"; } $set = new FooSet(); $set[] = new Foo(); // allowed $set[] = 1; // Throws an exception