frontastic / data-object
Simple base class for data objects.
Requires (Dev)
- pdepend/pdepend: @stable
- phpmd/phpmd: @stable
- phpunit/phpunit: @stable
- sebastian/phpcpd: @stable
- squizlabs/php_codesniffer: @stable
Replaces
- kore/dataobject: @stable
This package is auto-updated.
Last update: 2024-11-07 15:32:16 UTC
README
This repository just contains a simple base class for PHP data objects.
This class throws exceptions if you try to read or write unknown properties, and ensures a clone is performed recursively.
Usage
To use this data object base class for your own data objects, just use something like this:
class Person extends \Kore\DataObject\DataObject { public $prename; public $forename; }
If you now access unknown properties you will get exceptions. For more details on the motivation behind this, read: http://qafoo.com/blog/016_struct_classes_in_php.html
In some cases it might be necessary that additional attributes can be passed while construction and are knowingly
ignored and not added to the DataObject. Therefore a constructor parameter $ignoreAdditionalAttributes
has been added,
which is set to true
by default.
This will allow to create a DataObject of an array with more values where the additional values will be ignored and no
exception will be thrown during construction. If you later try to access a property which is not existing though,
an exception will be raised! On the other hand, if it's set to false it will throw an exception if you pass a value that
doesn't match any property on the object.