aedart / athenaeum-properties
Provides means to dynamically deal with inaccessible properties, by implementing some of PHP's magic methods
Requires
- php: ^8.2
- aedart/athenaeum-contracts: ^8.14
- aedart/athenaeum-utils: ^8.14
- dev-main
- 8.14.0
- 8.13.0
- 8.12.0
- 8.11.0
- 8.10.0
- 8.9.0
- 8.8.0
- 8.7.0
- 8.6.0
- 8.5.0
- 8.4.0
- 8.3.0
- 8.2.0
- 8.1.0
- 8.0.0
- 7.33.0
- 7.32.0
- 7.31.0
- 7.30.1
- 7.30.0
- 7.29.0
- 7.28.0
- 7.27.0
- 7.26.0
- 7.25.0
- 7.24.0
- 7.23.0
- 7.22.1
- 7.22.0
- 7.21.0
- 7.20.0
- 7.19.0
- 7.18.1
- 7.18.0
- 7.17.0
- 7.16.0
- 7.15.0
- 7.14.0
- 7.13.0
- 7.12.0
- 7.11.3
- 7.11.2
- 7.11.1
- 7.11.0
- 7.10.1
- 7.10.0
- 7.9.1
- 7.9.0
- 7.8.0
- 7.7.2
- 7.7.1
- 7.7.0
- 7.6.0
- 7.5.0
- 7.4.0
- 7.3.0
- 7.2.0
- 7.1.0
- 7.0.1
- 7.0.0
- 7.0.0-alpha.1
- 6.8.1
- 6.8.0
- 6.7.0
- 6.6.0
- 6.5.2
- 6.5.1
- 6.5.0
- 6.4.0
- 6.3.0
- 6.2.1
- 6.2.0
- 6.1.1
- 6.1.0
- 6.0.2
- 6.0.1
- 6.0.0
- 5.27.0
- 5.26.0
- 5.25.0
- 5.24.2
- 5.24.1
- 5.24.0
- 5.23.0
- 5.22.4
- 5.22.3
- 5.22.2
- 5.22.1
- 5.22.0
- 5.21.0
- 5.20.0
- 5.19.0
- 5.18.1
- 5.18.0
- 5.17.0
- 5.16.0
- 5.15.0
- 5.14.1
- 5.14.0
- 5.13.2
- 5.13.1
- 5.13.0
- 5.12.0
- 5.11.0
- 5.10.1
- 5.10.0
- 5.9.0
- 5.8.0
- 5.7.0
- 5.6.0
- 5.5.1
- 5.5.0
- 5.4.0
- 5.3.5
- 5.3.4
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.1
- v4.0
This package is auto-updated.
Last update: 2024-11-13 10:28:40 UTC
README
Provides means to dynamically deal with inaccessible properties, by implementing some of PHP's magic methods.
The usage of getters- and setters-methods is enforced, ensuring that if a property is indeed available, its corresponding getter or setter method will be invoked.
The term 'overload', in this context, refers to PHP’s own definition hereof.
Example
use Aedart\Properties\Overload; /** * @property string|null $name Name of a person */ class Person { use Overload; protected ?string $name = null; public function getName() : string { return $this->name; } public function setName(string $value) { if(empty($value)){ throw new InvalidArgumentException('Provided name is invalid'); } $this->name = $value; return $this; } }
Elsewhere in your application, you can invoke the following:
$person = new Person(); $person->name = 'Alin'; // Invokes the setName(...) echo $person->name; // Invokes the getName(), then outputs 'Alin' echo isset($person->name); // Invokes the __isset(), then outputs true unset($person->name); // Invokes the __unset() and destroys the name property
Documentation
Please read the official documentation for additional information.
Repository
The mono repository is located at github.com/aedart/athenaeum
Versioning
This package follows Semantic Versioning 2.0.0
License
BSD-3-Clause, Read the LICENSE file included in this package