我在php 8.1中使用symfony 5.4,我想考虑一组用于Swagger文档的属性,在每个控制器方法之前,我至少有以下5个属性:
#[OA\Response(
response: 400,
description: 'Bad parameters',
content: new OA\JsonContent(example: ['code' => 400, 'message' => 'Bad Request', 'appCode' => 5000])
)]
#[OA\Response(
response: 401,
description: 'JWT Token not found (appCode = 5001) or expired (appCode = 5002)',
content: new OA\JsonContent(example: ['code' => 401, 'message' => 'JWT Token not found', 'appCode' => 5001])
)]
#[OA\Response(
response: 403,
description: 'Insufficient privileges',
content: new OA\JsonContent(example: ['code' => 403, 'message' => 'Forbidden', 'appCode' => 5003])
)]
#[Security(name: 'Bearer')]
#[OA\Tag(name: 'User')]
它占用大量空间并且是重复的,因此我想创建一个可以用作以下内容的属性:
#[SwaggerUtils(tag: 'User')]
它将执行与编写前面5个属性相同的工作,如Nestjs(https://docs.nestjs.com/custom-decorators#decorator-composition)中的装饰符组合.
这在PHP中可能吗?
我找到的关于PHP属性的最好帖子是https://www.amitmerchant.com/how-to-use-php-80-attributes/. 但我不知道如何才能实现我想要的.