stevebauman/autodoc-facades

自动生成Laravel门面文档注释

v1.2.1 2024-04-10 14:00 UTC

This package is auto-updated.

Last update: 2024-09-13 00:19:13 UTC


README

为您的Laravel应用程序提供一个门面文档生成器。

Autodoc Facades使用官方的Laravel 门面文档生成器,通过使用单个命令的@see注释,在您的app目录内轻松生成应用程序的Laravel门面文档注释

php artisan autodoc:facades app

之前:

namespace App\Facades;

/**
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    // ...
}
namespace App\Services;

class ServiceManager
{
    public function all(string $param): array
    {
        // ...    
    }
}

之后:

namespace App\Facades;

/**
+* @method static array all(string $param)
+* 
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    // ...
}

安装

通过composer安装

composer require --dev stevebauman/autodoc-facades

使用方法

在终端内

php artisan autodoc:facades {paths} {--only=} {--except=}

在Laravel命令内

namespace App\Console\Commands;

class GenerateFacadeDocs extends Command
{
    // ...

    public function handle(): int
    {
        return $this->call('autodoc:facades', [
            'paths' => ['app'],
            '--except' => ['...'],
            '--only' => ['...'],
        ]);
    }
}

开始使用

开始之前,您的门面必须包含一个带有fully-qualified namespace@see注释。

它不能解析已导入的类的短名类名。

例如,以下不会工作

namespace App\Facades;

use App\Services\ServiceManager;

/**
 * @see ServiceManager
 */
class Service extends Facade
{
    // ...
}

如果底层类将调用转发到另一个类,请向底层类添加一个@mixin注释,以便它被文档生成器捕获

namespace App\Facades;

use App\Services\ServiceManager;

/**
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    protected function getFacadeAccessor()
    {
        return ServiceManager::class
    }
}
namespace App\Services;

use Illuminate\Support\Traits\ForwardsCalls;

/**
 * @mixin \App\Services\SomeClass
 */
class ServiceManager
{
    use ForwardsCalls;
    
    // ...
}

在路径中生成注释

要为您的app目录中的所有门面生成文档注释,请提供“app”作为路径

您提供的所有路径,如果不以目录分隔符开头,将使用命令当前工作目录作为基本路径。

php artisan autodoc:facades app

在多个路径中生成注释

使用空格分隔路径以生成这些目录中门面的注释

php artisan autodoc:facades app/Services/Facades app/Api/Facades

为特定门面生成注释

指定“only”类以仅生成给定类的注释

您可以通过空格分隔提供多个“only”类。

php artisan autodoc:facades app --only App\Facades\Service

为除特定门面外的所有门面生成注释

指定“except”类以生成所有门面的注释,但排除指定的类

您可以通过空格分隔提供多个“except”类。

php artisan autodoc:facades app --except App\Facades\Service