定制 sonata/docs 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sonata/docs

最新稳定版本:v1.0.2

Composer 安装命令:

composer require sonata/docs

包简介

OpenAPI docs module for Sonata framework

README 文档

README

Модуль OpenAPI для Sonata Framework. Генерирует спецификацию и отдает ее через эндпоинт.

Установка

composer require sonata/docs

Эндпоинты

Контроллер Sonata\Docs\Controllers\SwaggerController подключается автоматически:

  • GET /openapi.json — OpenAPI спецификация

Логика

  • Генератор OpenApiGenerator сканирует контроллеры и DTO.
  • Использует атрибуты #[Route], #[Controller], #[Tag], #[Response], #[From].
  • В prod режиме применяет OpenApiCache.

Атрибуты для документации

Используйте атрибуты Sonata Framework и OpenAPI:

  • #[Tag('Название', 'Описание')] — группировка методов
  • #[Response(Dto::class, isArray: true)] — схема ответа
  • #[From('json'|'query')] — источник данных
  • #[OpenApi\Attributes\Property(...)] — описание полей DTO

Пример:

use OpenApi\Attributes as OA;
use Sonata\Framework\Attributes\Response;
use Sonata\Framework\Attributes\Tag;

#[Tag('Пользователи')]
class UserController
{
    #[Response(UserResponse::class, isArray: true)]
    public function list(): array { /* ... */ }
}

final class UserResponse
{
    #[OA\Property(example: 1, description: 'ID пользователя')]
    public int $id;
}

Swagger UI

UI в комплект не входит. Можно:

  1. Использовать локальные ассеты (как в приложении view/swagger).
  2. Подключить Swagger UI через CDN и указывать /openapi.json как источник.

统计信息

  • 总下载量: 37
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-02-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固