kamermans/docblock-reflection
最新稳定版本:v1.0.1
Composer 安装命令:
composer require kamermans/docblock-reflection
包简介
Simple, Fast PHP DocBlock Parser / Reflector
README 文档
README
Simple, Fast PHP DocBlock Parser / Reflector
This is a dead-simple DocBlock / doc comment / PHPDoc parser. It separates a block into tags and a comment and that's it. Nothing fancy here. If you want fancy, use the Doctrine Annotation bundle.
Installation
Use Composer to install by adding this to your composer.json:
"require": {
"kamermans/docblock-reflection": "~1.0"
}
Usage
This library is basically used for grabbing comments and tags, so here are some examples:
Consider this class
/** * A Foo class * * @deprecated * @version v1.1 * @see Foo::bar() * @see google.com */ class Foo { /** * Does something that is really * cool and makes your life easy * * @param string $name Your name * @return string */ public function bar($name) { return "FooBar $name"; } }
We can explore it using the stock Reflection API, but it doesn't parse the DocBlocks
$reflect = new RelflectionClass("Foo"); echo $reflect->getDocComment(); // spits out the raw block
To dig into the comment, use kamermans\Reflection\DocBlock. You can pass anything that implements the Reflector interface and has a getDocComment() method. That means ReflectionObject, ReflectionClass, ReflectionMethod, ReflectionFunction, etc.
use kamermans\Reflection\DocBlock; $reflect = new ReflectionClass("Foo"); $doc = new DocBlock($reflect); // Check if the @deprecated tag exists $doc->tagExists("deprecated"); // Get the comment "A Foo class" $doc->getComment(); echo $doc->version; // v1.1 // The same tag can be set multiple times echo implode("|", $doc->see); // Foo::bar()|google.com // It works on methods too $doc = new DocBlock($reflect->getMethod("bar")); echo "Foo returns a $doc->return\n"; // Foo returns a string // Multiline comments work too $doc->getComment();
统计信息
- 总下载量: 263.9k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MPL
- 更新时间: 2014-10-23