dealnews / typed-objects
Base classes for creating objects with typed/constrained properties
v1.1.0
2019-06-30 14:23 UTC
Requires
- php: >=7.1.0
- dealnews/constraints: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-11-09 01:33:10 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