entire-studio / dynamic-accessors
Dynamic setters and getters. While it can be done, it doesn't mean you should do it.
v1.7.0
2024-01-05 20:43 UTC
Requires
- php: >=8.1
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0.0
- phpcompatibility/php-compatibility: ^9.3.5
- phpunit/phpunit: ^10.5.5
- squizlabs/php_codesniffer: ^3.8.0
This package is auto-updated.
Last update: 2024-05-05 20:10:03 UTC
README
Dynamic setters and getters. While it can be done, it doesn't mean you should do it.
Installation
Install the latest version with
$ composer require entire-studio/dynamic-accessors
Basic Usage
<?php use EntireStudio\DynamicAccessors\{ DynamicAccessors, Get, Set }; /** * You can annotate your class for IDE completion * @method void setLastName(string $name) * @method string getLastName() */ class Example { use DynamicAccessors; #[Set, Get] // Register default accessors private string $firstName; #[Set('setLastName'), Get('getLastName')] // Register under different name private string $lastName; } $e = new Example(); $e->firstName('Clark'); $e->setLastName('Kent'); printf( 'My name is %s %s.' . PHP_EOL, $e->firstName(), // getter and setter have the same name $e->getLastName() // getter is custom and different from setter );
$ php example.php
Commands
composer lint
- run linter.composer lint:fix
- fix some issues detected by linter automatically (easy ones).composer test
- run tests.