fatcode/annotations
Composer 安装命令:
composer require fatcode/annotations
包简介
Annotations library
关键字:
README 文档
README
Introduction
Annotations is an attempt to provide meta data programing for php by extending docblock comments. Syntax is compatible with latest annotations rfc.
Installation
composer install fatcode/annotations
Differences from RFC
The following annotations are not supported for various reasons:
@Compiled- as there is no compiling@SupressWarning- There is no simple way to implement it in user-land@Repeatable- all annotations are repeatable by default@Inherited- same as@SupressWarning, there is no simple way to track php's inheritance tree in user-land
Built-in annotations
@Annotation()- makes class available as annotation@Required()- ensures that attribute is passed when annotation is used@NoValidate()- turns off attribute validation@Enum(mixed ...$value)- defines valid values for annotated property@Target(string ...$target)- declares valid targets for annotation
Defining an annotation
<?php declare(strict_types=1); use FatCode\Annotation\Target; /** * @Annotation * @Target(Target::TARGET_CLASS) */ class MyAnnotation { /** * @Required * @var string */ public $name; }
The above example defines annotation that is only valid for php classes (@Target(Target::TARGET_CLASS)).
Annotation will accept attribute name which is required (@Required) and must be of type string
Using annotations
<?php declare(strict_types=1); /** * @MyAnnotation(name="Hello World") */ class AnnotatedClass { }
The above example makes usage of newly declared MyAnnotation annotation.
Retrieving annotations
Retrieving class annotations
<?php declare(strict_types=1); use FatCode\Annotation\AnnotationReader; $reader = new AnnotationReader(); $annotations = $reader->readClassAnnotations(AnnotatedClass::class); var_dump($annotations); /* will output: array(1) { [0] => class MyAnnotation#19 (1) { public $name => string(11) "Hello World" } } */
Example code can be found here
fatcode/annotations 适用场景与选型建议
fatcode/annotations 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 53 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 03 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「annotations」 「php」 「docblock」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 fatcode/annotations 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fatcode/annotations 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 fatcode/annotations 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A collection of helpers for PHPUnit to ease testing Tarantool libraries.
A simple tool for checking that your PHP classes and methods use PHPDocs (PHP DocBlocks Checker fork).
A simple tool for checking that your PHP classes and methods use docblocks.
The last validation library you will ever need!
A PHPDoc docblock interpreter that is simple, easy to use, and provides Attribute alternatives.
Customizations for routing
统计信息
- 总下载量: 53
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-03-28