irazasyed / docgen
使用Docgen for Laravel自动生成门面文档,简化Laravel包的开发
Requires
- php: >=8.0
Requires (Dev)
- illuminate/support: ^10
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-mock: 2.x-dev
- php-parallel-lint/php-parallel-lint: ^1.3
- rector/rector: ^0.15
This package is auto-updated.
Last update: 2024-09-08 10:00:13 UTC
README
📖 使用Docgen for Laravel Facade简化Laravel包的开发
简介
Docgen for Laravel包,Laravel包开发者的终极解决方案。
这个英勇的包会自动生成你的Laravel包门面的文档,消除你自己维护文档的繁琐工作。
有了这个包,IDE将为你和你的包的开发者提供方法建议,让你的开发之旅更加顺畅。
安装
你可以通过composer安装此包
composer require irazasyed/docgen --dev
用法
有多种方式可以使用CLI工具。
基础
让我们从基本用法开始。
使用门面的名称调用命令
vendor/bin/docgen -f "Namespace\Path\To\Laravel\Facade::class"
高级
在你的包的根目录中创建一个名为docgen.php
的新配置文件,并添加以下代码
<?php return [ 'facade' => Namespace\Path\To\Laravel\Facade::class, // Optional // Path\To\Class::class => [Excluded Methods Array] 'classes' => [], // Global Excluded Methods 'excludedMethods' => [], ];
运行以下命令生成文档并将其应用于门面
vendor/bin/docgen
您也可以将配置文件存储在其他位置,并使用-c
或--config
选项提供路径。
示例
vendor/bin/docgen -c path/to/docgen.php
生成多类门面的文档
如果你的Laravel门面链接到需要文档的一组类,你可以提供一个类名数组。此外,如果你想从特定类的文档中排除某些方法,你可以传递一个包含这些方法名称的数组。
为了说明这一点,考虑以下示例,它展示了如何使用这种方法与Telegram Bot SDK的Laravel Facade一起使用。
<?php // docgen.php return [ 'facade' => Telegram\Bot\Laravel\Facades\Telegram::class, 'classes' => [ \Telegram\Bot\BotsManager::class, \Telegram\Bot\Api::class => [ 'setContainer', 'getWebhookUpdates', ], \Telegram\Bot\Commands\CommandBus::class => [ 'getTelegram', 'setTelegram', ], ], // Global Excluded Methods 'excludedMethods' => [], ];
调用命令以生成并应用文档。
vendor/bin/docgen
API
generate(string|array $classes, array $globalExcludedMethods = [])
为给定的类生成文档。
参数
$classes
- 要使用其方法生成文档的类名或一个数组,格式为[class => (可选) [excluded methods]]
。$globalExcludedMethods
- (可选) 生成文档时要排除的方法数组。
返回
Docgen
- Docgen实例。
示例
Docgen::generate([ // Class Name => [Excluded Methods] \App\Some\Class::class => ['method1', 'method2'], \App\Some\OtherClass::class, ])->apply(\Namespace\To\Facade::class); // Apply to Facade.
getDocBlock()
获取生成的文档。
返回
string
- 生成的文档。
apply(string $className = '')
将生成的文档应用于给定的类名,或默认为用于生成文档的类。
参数
$className
- (可选) 要应用生成的文档的类名。
返回
bool
- 成功返回true,否则返回false。
TODO
- 添加github动作以自动维护文档。
资源
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
请参阅我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
麻省理工学院许可证(MIT)。请参阅许可文件获取更多信息。