biqiang / biphp-properties
为 PHP 提供属性管理扩展。
0.1.0
2018-12-28 07:01 UTC
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-08-29 00:01:40 UTC
README
为 PHP 类提供扩展的属性管理能力。
使用
使用 composer
添加依赖 composer require biqiang/biphp-properties
在类中使用 PropertyOwner
并在 specs
方法中首先属性描述:
use Biphp\Properties\PropertyOwner; class User { use PropertyOwner; protected function specs(): array { return [ 'id' => $this->IntegerSpec()->readOnly(), 'name' => $this->StringSpec(), 'inviter' => $this->ObjectSpec()->setInstanceOf(User::class), ]; } }
访问定义的属性
$user = new User(); // 访问只读属性 echo $user->id; // 访问可读写属性 $user->name = 'name'; echo $user->name;
特性列表
- 为属性提供
readOnly
定义 - 提供属性
manager
定义,被定义为manager
的类可以获得innerSet
无视readOnly
设置对属性进行修改。 - 为属性提供
filter
定义能力,在修改属性值前对输入值进行过滤。 - 为属性提供验证规则定义能力,在修改属性值前对输入值进行验证。
- 内置一些基础数据类型属性,提供对基础数据类型的输入检查。
- 提供属性修改监听,可以在属性被修改时执行一些回调操作。