如何提供从 Laravel 生成的 phpDocumentor 文档?
How can I serve generated phpDocumentor docs from Laravel?
所以我正在使用 phpDocumentor 3 为我的 Laravel 7 项目生成文档,
并且想知道我是否可以从 Laravel 提供此文档(静态文件),以便仅供 授权用户使用 。
我希望能够通过我的 CI/CD 更新文档,所以我不能只手动修改生成的文档。
我认为我可能必须为此编写自己的模板 (https://docs.phpdoc.org/3.0/guide/guides/templates.html),但我不确定文档是否不完整,或者我是否遗漏了什么,因为我不知道如何创建一个模板。有什么可以帮助我实现这一目标的建议、指南或教程吗?
谢谢
您可以在 CI/CD 脚本中包含 phpDoc 生成:
首先在产品上安装 phpDocumentor
,然后使用此命令生成:
phpDocumentor -d . -t storage/docs/
Note: the storage
path maybe is gitIgnored if you plan to
generate the phpDocs, not on the production server, you have to be
sure that the folder will be pushed to the production
将此添加到 config/filesystem.php
'disks':
'local-docs' => [
'driver' => 'local',
'root' => storage_path('docs'),
],
并在您的路由文件中添加以下内容 (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');
be sure you haven't any other route with the docs
prefix
所以我正在使用 phpDocumentor 3 为我的 Laravel 7 项目生成文档,
并且想知道我是否可以从 Laravel 提供此文档(静态文件),以便仅供 授权用户使用 。
我希望能够通过我的 CI/CD 更新文档,所以我不能只手动修改生成的文档。
我认为我可能必须为此编写自己的模板 (https://docs.phpdoc.org/3.0/guide/guides/templates.html),但我不确定文档是否不完整,或者我是否遗漏了什么,因为我不知道如何创建一个模板。有什么可以帮助我实现这一目标的建议、指南或教程吗?
谢谢
您可以在 CI/CD 脚本中包含 phpDoc 生成:
首先在产品上安装 phpDocumentor
,然后使用此命令生成:
phpDocumentor -d . -t storage/docs/
Note: the
storage
path maybe is gitIgnored if you plan to generate the phpDocs, not on the production server, you have to be sure that the folder will be pushed to the production
将此添加到 config/filesystem.php
'disks':
'local-docs' => [
'driver' => 'local',
'root' => storage_path('docs'),
],
并在您的路由文件中添加以下内容 (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');
be sure you haven't any other route with the
docs
prefix