在 PHPDoc 中描述控制器查询参数
Describing controller query parameters in PHPDoc
我的 Laravel 控制器有一个索引方法,它接受一个可选的查询字符串参数。
这应该如何在方法的 PHPDoc 块中表示?
EmployerController.php:
/**
* @param Request $request
* @return Response
* Returns list of Employers
*/
public function index(Request $request) {
// This is the optional parameter which needs to be represented
// in the PHPDoc block
$collectiveAgreement = $request->query('collective_agreement');
...
}
如果您的目的是记录这些字段,我建议创建一个处理所有逻辑的 FormRequest,然后将表单请求注入控制器。这样,您就知道请求是在哪里形成的,然后转到那个 class 查看字段,甚至更好:它们通过验证的规则。
php artisan make:request ListUsersRequest
ListUsersRequest.php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ListUsersRequest extends FormRequest {
public function rules()
{
return [
'collective_agreement' => ['here', 'goes', 'your', 'rules'],
'another_field' => ['here', 'goes', 'more', 'rules'],
];
}
public function authorize()
{
return true;
}
}
然后,回到你的控制器
UserController.php
public function index(ListUsersRequest $request)
{ // ^^^^^^^^^^^^^^^^
$data = $request->validated();
$collectiveAgreement = $data['collective_agreement'];
// Or as you did:
// $collectiveAgreement = $request->query('collective_agreement');
}
在第一行保留描述,@param
和 @return
在下面。这将是一种标准顺序。随意添加描述,以及它如何帮助其他阅读代码的人。在这种情况下,您已经记录了参数,因为该查询字符串是 $request
对象的一部分,但您可以将描述扩展为:
/**
* Returns list of Employers.
* Request object may have optional query string parameter 'collective_agreement'
* used for this and this and that and that
*
* @param Request $request
* @return Response
*/
public function index(Request $request)
{
// This is the optional parameter which needs to be represented
// in the PHPDoc block
$collectiveAgreement = $request->query('collective_agreement');
...
}
我的 Laravel 控制器有一个索引方法,它接受一个可选的查询字符串参数。
这应该如何在方法的 PHPDoc 块中表示?
EmployerController.php:
/**
* @param Request $request
* @return Response
* Returns list of Employers
*/
public function index(Request $request) {
// This is the optional parameter which needs to be represented
// in the PHPDoc block
$collectiveAgreement = $request->query('collective_agreement');
...
}
如果您的目的是记录这些字段,我建议创建一个处理所有逻辑的 FormRequest,然后将表单请求注入控制器。这样,您就知道请求是在哪里形成的,然后转到那个 class 查看字段,甚至更好:它们通过验证的规则。
php artisan make:request ListUsersRequest
ListUsersRequest.php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ListUsersRequest extends FormRequest {
public function rules()
{
return [
'collective_agreement' => ['here', 'goes', 'your', 'rules'],
'another_field' => ['here', 'goes', 'more', 'rules'],
];
}
public function authorize()
{
return true;
}
}
然后,回到你的控制器
UserController.php
public function index(ListUsersRequest $request)
{ // ^^^^^^^^^^^^^^^^
$data = $request->validated();
$collectiveAgreement = $data['collective_agreement'];
// Or as you did:
// $collectiveAgreement = $request->query('collective_agreement');
}
在第一行保留描述,@param
和 @return
在下面。这将是一种标准顺序。随意添加描述,以及它如何帮助其他阅读代码的人。在这种情况下,您已经记录了参数,因为该查询字符串是 $request
对象的一部分,但您可以将描述扩展为:
/**
* Returns list of Employers.
* Request object may have optional query string parameter 'collective_agreement'
* used for this and this and that and that
*
* @param Request $request
* @return Response
*/
public function index(Request $request)
{
// This is the optional parameter which needs to be represented
// in the PHPDoc block
$collectiveAgreement = $request->query('collective_agreement');
...
}