Вы, конечно, можете потребовать в lib, но, поскольку это пакет Symfony, он будет содержать множество ненужных раздутий.
Почему бы не попробовать PHP Swagger? https://github.com/zircote/swagger-php
Вот тип вещей, которые вы можете сделать с ним:
/**
*
* @OA\Get(
* path="/oauth2/authorize",
* @OA\Response(response="200", description="An access token"),
* tags={"auth"},
* @OA\Parameter(
* name="response_type",
* in="query",
* type="string",
* description="the type of response",
* required=true,
* default="code"
* ),
* @OA\Parameter(
* name="client_id",
* in="query",
* type="string",
* description="the client identifier",
* required=true,
* default="testclient"
* ),
* @OA\Parameter(
* name="client_secret",
* in="query",
* type="string",
* description="the client identifier",
* required=false,
* default="testclient"
* ),
* @OA\Parameter(
* name="redirect_uri",
* in="query",
* type="string",
* description="where to send the response",
* required=false
* ),
* @OA\Parameter(
* name="state",
* in="query",
* type="string",
* description="with a CSRF token. This parameter is optional but highly recommended.",
* required=false,
* ),
* @OA\Parameter(
* name="scope",
* in="query",
* type="string",
* description="allowed scopes, space separated",
* required=false,
* )
* )
*/
public function authorizeAction()
{
// code
}
Вот демонстрация того, что генерирует Swagger UI:
https://petstore.swagger.io/