我如何提供从 Laravel 生成的 phpDocumentor 文档?

her*_*ing 5 php phpdoc continuous-delivery laravel

所以我使用 phpDocumentor 3 为我的 Laravel 7 项目生成文档,

我想知道我是否可以从 Laravel 提供此文档(静态文件),以便仅对授权用户可用。

我希望能够通过我的CI/CD更新文档,所以我不能只手动修改生成的文档。

我认为我可能必须为此编写自己的模板(https://docs.phpdoc.org/3.0/guide/guides/templates.html),但我不确定文档是否不完整或者我是否缺少一些东西,因为我不知道如何创建模板。有什么建议、指南或教程可以帮助我实现这一目标吗?
谢谢

Abi*_*gos 1

您可以在 CI/CD 脚本中包含 phpDoc 生成:

phpDocumentor首先在生产环境中安装,然后使用以下命令生成:

phpDocumentor -d . -t storage/docs/ 
Run Code Online (Sandbox Code Playgroud)

注意:如果您打算生成 phpDocs,而不是在生产服务器上,则storage路径可能是gitIgnored ,您必须确保该文件夹将被推送到生产服务器

将其添加到config/filesystem.php“磁盘”:

'local-docs' => [
            'driver' => 'local',
            'root' => storage_path('docs'),
        ],
Run Code Online (Sandbox Code Playgroud)

并在您的路由文件中添加以下内容 ( routes/web.php)

Route::get('/docs/{url?}', function ($url) {
    $resp = response(Storage::disk('local-docs')->get($url));
    $resp->header('content-type', GuzzleHttp\Psr7\MimeType::fromFilename($url));
    return $resp;

})->where('url', '(.*)')->middleware('auth');
Run Code Online (Sandbox Code Playgroud)

确保您没有任何其他带有docs前缀的路由