kerkit/class-property-management

一个提供基于简单注解对类属性进行读写访问的库

v1.0.2 2021-06-08 16:40 UTC

This package is auto-updated.

Last update: 2024-09-16 01:32:39 UTC


README

安装

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

$ composer require kerekit/class-property-management

用法

使用@Readable@Writable PHP 文档块来提供对私有和受保护属性的访问。

<?php

use Kerekit\ClassPropertyManagement\AnnotatedPropertiesTrait;
use Kerekit\ClassPropertyManagement\Annotation\{Readable,Writable};

class Entry
{
    use AnnotatedPropertiesTrait;

    /** @Readable */
    private $id = 1;

    /** @Readable @Writable */
    private $date = '2021-03-15';

    /** @Readable @Writable */
    private $text = '';
}

$entry = new Entry;

// Access Readable properties
$entry->id === 1;
var_dump (isset ($entry->id));

// Set Writable properties
$entry->date = '2021-03-16';

// Use chained set... methods for setting multiple Writable properties at once
$entry
    ->setDate ('2021-03-17')
    ->setText ('Some text here...')
    ;

// Unset Writable properties
unset ($entry->date, $entry->text);