Download the PHP package maxalmonte14/magicproperties without Composer
On this page you can find all versions of the php package maxalmonte14/magicproperties. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download maxalmonte14/magicproperties
More information about maxalmonte14/magicproperties
Files in maxalmonte14/magicproperties
Package magicproperties
Short Description A little but powerful package that allows you call getters and setters implicitly in PHP.
License MIT
Informations about the package magicproperties
About MagicProperties
MagicProperties is a little but powerful package that allows you call getters and setters implicitly in all objects you want, something like C# properties or Laravel accessors and mutators (for Eloquent ORM).
Requirements
Installation
Examples
Let's begin! with MagicProperties you can access to your getters and setters in a transparent way without exposing your business logic. First, use the traits in your class.
Note: The AutoAccessorTrait and AutoMutatorTrait use the get and set PHP magic methods, if you're using it in your class you gonna receive some error for sure, so don't do that!
Step two define your gettables and settables in the constructor.
Step three, define your own getters and setters for your gettables and settables.
Note: You have to define your getters and setters following the convention "get + property name" and "set + property name", otherwise the property it's gonna set or get without calling any method. You can name your methods either camel case or snake case, anyway, it's gonna work!
The final step, enjoy calling your properties!
Note: Take care about this, the package doesn't make available all your private properties to the public context, only the properties defined in the gettables and settables array are gonna be accessible, so, if you try to access to a private non-gettable/settable property an exception is gonna be thrown.
Since version 2.0 your getters are called automatic even if you don't register your properties in the gettables
array. The following example should work as expected.
The gettables
array is still available for compatibility reasons, however could be removed in future versions.