Download the PHP package mfonte/propaccessor without Composer
On this page you can find all versions of the php package mfonte/propaccessor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mfonte/propaccessor
More information about mfonte/propaccessor
Files in mfonte/propaccessor
Package propaccessor
Short Description A PHP Trait that adds support for direct access to object properties, with explicit accessors and mutators.
License GPL-3.0-or-later
Homepage https://github.com/mauriziofonte/propaccessor
Informations about the package propaccessor
PHP PropAccessor
A PHP Trait that allows direct access to object properties via magic methods, mapping them to explicit accessor and mutator methods.
This package is a fork of Propifier, updated for PHP 7.4 compatibility and extended functionality. Original license (GNU GPL v3) has been retained. Credits to the original author.
Installation
Install via Composer:
Why Use This Package?
In object-oriented programming, it's a common practice to use getter and setter methods to control access to an object's properties. However, this can lead to verbose code and reduce readability.
PHP PropAccessor allows you to:
- Directly access properties using
$object->property
syntax. - Maintain control over property access through custom getter and setter methods.
- Define array-like properties that can be accessed using
$object->arrayProperty[$key]
. - Implement iterators for properties, enabling
foreach
loops directly on object properties.
How Does It Work?
By including the PropifierTrait
in your class, the magic methods __get()
, __set()
, __isset()
, and __unset()
are implemented. These methods intercept property access and delegate to your defined getter, setter, and iterator methods based on naming conventions.
Naming Conventions
- Getter Methods:
getPropertyName()
,isPropertyName()
, orhasPropertyName()
- Setter Methods:
setPropertyName()
- Iterator Methods:
itrPropertyName()
Property Name Resolution
The property name is derived from your method names by removing the prefix (get
, set
, is
, has
, itr
) and converting the remainder to camelCase or snake_case, depending on your preference.
Examples
Basic Usage
Boolean Properties
Array Properties
Custom Property Mappings
Limitations and Notes
- Virtual Properties: The properties accessed are virtual and managed through magic methods.
- Naming Conventions: Method names must follow the defined naming conventions to be recognized.
- No Automatic Type Conversion: Ensure your getter and setter methods handle type conversions if necessary.
- Custom Exceptions: The package uses custom exceptions. Ensure they are included if you extract code snippets.
License
This package is licensed under the GNU GPL v3. Credits to the original author of Propifier.