kyserbyte / ypd
Ypd Php Decorator 通过文档注释在 PHP 中实现了 "decorators/annotations and meta-programming"。
v0.1.0
2019-06-30 13:39 UTC
Requires
- php: >=5.4
This package is auto-updated.
Last update: 2024-09-29 05:28:39 UTC
README
Ypd Php Decorator 通过文档注释在 PHP 中实现了 "decorators/annotations and meta-programming"。
INSTALL
您可以使用 composer 安装此包:composer require kyserbyte/ypd
用法
目前仅实现了 ypd::jsonSerialize
装饰器。要 激活 装饰器,您必须在要使其 json 可序列化 的类中实现 JsonSerializable
接口。然后,您必须将 YPDJsonSerializer
特性添加到您的类中。该特性具有符合 JsonSerializable
接口所需的方法 jsonSerialize()
的内部实现,因此您只需在类中声明 implements
语句即可。现在您可以在文档注释中使用装饰器,以声明要暴露给 json 的属性。目前装饰器仅适用于类的公共属性。
jsonSerialize 装饰器
在您的属性上方的文档注释中,您需要使用以下语法声明装饰器:
/**
* ypd::jsonSerialize(name=XX,if=YY)
*/
public $propName;
使用声明,您可以向装饰器传递两个参数。
- name:指定导出到 json 时属性的名称
- if:一个解析为布尔值的函数。您可以使用它来实现导出属性的条件逻辑。该函数必须在属性的同一类中声明或在类使用的特性中声明,并且必须是公共的。
有关用法更多信息,请参阅 DemoJsonSerialize 类。