在PHPDoc中描述控制器查询参数

问题描述 投票:0回答:1

我的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');

    ...
}
laravel phpdoc
1个回答
0
投票

如果您的目的是记录这些字段,我建议创建一个处理所有逻辑的FormRequest,然后将表单请求注入控制器。这样,您就知道请求的形成位置,然后转到该类以查看字段,甚至更好:它们通过验证的规则。

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');
}
© www.soinside.com 2019 - 2024. All rights reserved.