entire-studio/dynamic-accessors

动态设置器和获取器。虽然可以做,但这并不意味着你应该这么做。

v1.7.0 2024-01-05 20:43 UTC

README

Packagist Version (including pre-releases) GitHub release (latest SemVer including pre-releases) CI codecov

动态设置器和获取器。虽然可以做,但这并不意味着你应该这么做。

安装

使用以下命令安装最新版本

$ composer require entire-studio/dynamic-accessors

基本用法

<?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

命令

  • composer lint - 运行代码检查。
  • composer lint:fix - 自动修复代码检查中发现的某些问题(简单的)。
  • composer test - 运行测试。