jocelimjr / auto-getters-and-setters
Auto getters and setters (Getter/Setter; Get/Set)
This package's canonical repository appears to be gone and the package has been frozen as a result.
v1.0.1
2022-01-16 05:43 UTC
Requires
- php: >=7.4.0
This package is auto-updated.
Last update: 2024-09-26 18:17:14 UTC
README
Auto getters and setters.
Basic Usage
use JocelimJr\AutoGettersAndSetters; class MyClass { use AutoGettersAndSetters; private ?string $parameterA = null; private ?string $parameterB = null; } // Init object $myClass = new MyClass; // Set values $myClass->setParameterA('Value A'); $myClass->setParameterB('Value B'); // Get Values echo $myClass->getParameterA(); echo $myClass->getParameterB();
Advanced usage
<?php use JocelimJr\AutoGettersAndSetters; class MyClass { use AutoGettersAndSetters; private $AGS_GETTERS_SETTERS = [ 'parameterA' ]; private $AGS_GETTERS = [ 'parameterB' ]; private $AGS_SETTERS = [ 'parameterC' ]; private ?string $parameterA = null; private ?string $parameterB = null; private ?string $parameterC = null; } // Init object $myClass = new MyClass; // Set values $myClass->setParameterA('Value A'); // Ok $myClass->setParameterB('Value B'); // Error (MethodNotAccessibleException) $myClass->setParameterC('Value C'); // Ok // Get Values echo $myClass->getParameterA(); // Ok echo $myClass->getParameterB(); // Ok echo $myClass->getParameterC(); // Error (MethodNotAccessibleException)
Convert Data
<?php use JocelimJr\AutoGettersAndSetters; use JocelimJr\ConvertData; class MyClass { use AutoGettersAndSetters, ConvertData; private $AGS_HIDDEN_PARAMETERS = [ 'parameterA' ]; private ?string $parameterA = null; private ?string $parameterB = null; private ?string $parameterC = null; } // Init object $myClass = new MyClass; // Set values $myClass->setParameterA('Value A'); $myClass->setParameterB('Value B'); $myClass->setParameterC('Value C'); var_dump($myClass->toArray()); array(2) { ["parameterB"]=> string(19) "Value B" ["parameterC"]=> string(19) "Value C" } var_dump($myClass->toObject(['parameterB'])); object(stdClass)#6 (1) { ["parameterC"]=> string(19) "Value C" } echo $myClass->toJson(); {"parameterB": "Value B", "parameterC": "Value C"}