bulton-fr / methods-header-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:02:37 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()