bulton-fr / doc-struct-generator
将所有方法头生成到PHP类中。
0.1.2
2018-08-17 00:00 UTC
Requires
- php: >=5.4.0
- phpdocumentor/reflection-docblock: ^5.0
- phpdocumentor/type-resolver: ^0.6
This package is auto-updated.
Last update: 2024-08-28 23:48:07 UTC
README
为项目中的所有类生成方法结构。可以作为编写文档的帮助。
安装
使用composer composer require bulton-fr/methods-header-generator
由于依赖 phpdocumentor/reflection-common
在 2.0.0-beta1
中,您应该有 PHP >= 7.1
我会看看是否可以做一些事情来允许PHP 5.x版本。
使用方法
使用ProjectParser类
此类将取您的composer项目中声明的所有类,并检查它们。该类的其他功能是保存所有已解析的类,以避免在另一个类扩展它时重新解析(例如)。
关于composer,它应该有生成的类映射。因此,在安装或更新您的composer项目时,您应该使用选项 -o
。
示例: composer update -o
使用ProjectParser
$project = new \bultonFr\MethodsHeaderGenerator\ProjectParser('myVendorPath', ['myNamespaceToInspect\\']); echo $project->run();
构造函数接受三个参数
$vendorDir
维护者目录的路径$nsToParse
要解析的所有命名空间数组$nsToIgnore
要忽略的所有命名空间数组
示例:在我的BFW项目中,我创建了文件:/docs/parser.php
<?php $autoload = require_once(__DIR__.'/../vendor/autoload.php'); $project = new \bultonFr\MethodsHeaderGenerator\ProjectParser( __DIR__.'/../vendor', 'BFW\\', 'BFW\\Test\\' ); echo $project->run();
我要求ProjectParse为以 \BFW\
开头的命名空间的类生成结构,但忽略所有以 \BFW\Test
开头的命名空间的类,以免检查我的单元测试类。
不使用ProjectParser类
如果不使用ProjectParser,您将手动遍历所有类。对于每个类,您将实例化ClassParser,并将要检查的类名及其命名空间传递给它。
示例
$parser = new \bultonFr\MethodsHeaderGenerator\ClassParser('myClass'); echo $parser->run();
返回什么?
如果我在ProjectParser类上使用ClassParser,它将返回
bultonFr\MethodsHeaderGenerator\ProjectParser
self public __construct(string $vendorDir, string[]|string $nsToParse, [string[]|string $nsToIgnore=array()])
void public addToClasses(\bultonFr\MethodsHeaderGenerator\ClassParser $parser)
\bultonFr\MethodsHeaderGenerator\ClassParser[] public getClasses()
\bultonFr\MethodsHeaderGenerator\ClassParser public getClassesByName(string $className)
\Composer\Autoload\ClassLoader|null public getComposerLoader()
string[] public getNsToIgnore()
string[] public getNsToParse()
string public getVendorDir()
bool public hasClasses(string $className)
bool protected isIgnoredNS(string $className)
void protected obtainClassList()
void protected obtainComposerLoader()
string public run()