irazasyed/docgen
Composer 安装命令:
composer require irazasyed/docgen
包简介
Streamline your Laravel package development with automatic facade documentation using Docgen for Laravel
关键字:
README 文档
README
📖 Streamline your Laravel package development with automatic facade documentation using Docgen for Laravel Facade.
Introduction
Docgen for Laravel packages, the ultimate solution for Laravel package developers.
This heroic package automatically generates documentation for your Laravel package facade, eliminating the tedious task of maintaining it yourself.
With this package, IDEs will provide you and the developers using your package with method suggestions, making your development journey a breeze.
Installation
You can install the package via composer:
composer require irazasyed/docgen --dev
Usage
There are a number of ways to use the CLI tool.
Basic
Let's start with the basic usage.
Call the command with the name of the facade:
vendor/bin/docgen -f "Namespace\Path\To\Laravel\Facade::class"
Advanced
Create a new config file in your package's root directory named docgen.php and add the following code:
<?php return [ 'facade' => Namespace\Path\To\Laravel\Facade::class, // Optional // Path\To\Class::class => [Excluded Methods Array] 'classes' => [], // Global Excluded Methods 'excludedMethods' => [], ];
Run the following command to generate the documentation and apply it to the facade:
vendor/bin/docgen
You can also store the config file elsewhere and provide the path using the -c or --config option.
Example:
vendor/bin/docgen -c path/to/docgen.php
Generate Docs for Multiclass Facade
If your Laravel facade is linked to a chain of classes that require documentation, you can provide an array of class names. Additionally, if you want to exclude certain methods from the documentation of a specific class, you can pass an array containing the names of those methods.
To illustrate, consider the following example which demonstrates how to use this approach with the Telegram Bot SDK's 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' => [], ];
Call the command to generate and apply the docs.
vendor/bin/docgen
API
generate(string|array $classes, array $globalExcludedMethods = [])
Generate the documentation for given classes.
Parameters
$classes- The class name or an array of[class => (optional) [excluded methods]]to generate documentation using its methods.$globalExcludedMethods- (optional) An array of methods to be excluded when generating docs.
Returns
Docgen - The Docgen instance.
Example
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()
Get the generated documentation.
Returns
string - The generated documentation.
apply(string $className = '')
Apply the generated documentation to the given class name or defaults to the class used to generate docs.
Parameters
$className- (optional) The class name to apply the generated documentation to.
Returns
bool - True if it was successful, false otherwise.
TODO
- Add github action to automatically maintain docs.
Resources
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
irazasyed/docgen 适用场景与选型建议
irazasyed/docgen 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.3k 次下载、GitHub Stars 达 23, 最近一次更新时间为 2023 年 03 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「phpdoc」 「laravel」 「Documentation generator」 「irazasyed」 「docgen laravel facade」 「laravel facade documenter」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 irazasyed/docgen 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 irazasyed/docgen 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 irazasyed/docgen 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A simple tool for checking that your PHP classes and methods use PHPDocs (PHP DocBlocks Checker fork).
Bookdown.io With Bootswatch Styles And Prism Syntax Highlighting
Laravel package that generates RESTful API documentation in Markdown based on PHPDoc.
Laravel API documentation generating tool
Validates PHPDoc @param and @return tags against method signatures
A PHPDoc docblock interpreter that is simple, easy to use, and provides Attribute alternatives.
统计信息
- 总下载量: 4.3k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 23
- 点击次数: 22
- 依赖项目数: 13
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-16
