Download the PHP package sonata/framework without Composer
On this page you can find all versions of the php package sonata/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package framework
Sonata Framework
Минималистичный PHP-фреймворк для быстрых API: роутинг на атрибутах, DI-контейнер, DTO-валидация и кеш роутинга.
Установка
Быстрый старт
Минимальная точка входа с роутингом и DI:
Атрибуты (теги)
Используются для маршрутизации и документации:
#[Controller(prefix: '/api')]— объявляет контроллер и префикс.#[Route(path: '/users', method: 'GET', summary: '...', description: '...')]— маршрут метода.#[From('json'|'query'|'formData')]— источник данных для DTO.#[Inject]— внедрение зависимости в конструктор.#[Response(ClassName::class, isArray: true)]— тип ответа для OpenAPI.#[Tag('Имя', 'Описание')]— группа в документации.#[NoAuth]— пометка метода/контроллера, который не требует авторизации (используется middleware).
Пример:
Команды
В приложении можно добавить команды, которые используют встроенный кеш:
cache:build— построить кеш маршрутов (черезRoutesCache).cache:clear— очистить кеш маршрутов.
Middleware
Фреймворк поддерживает цепочку middleware для обработки запроса до контроллера.
Пример подключения:
Middleware получает контекст:
controller— класс контроллераaction— метод контроллераuri,methodroute
Пример NoAuth
Логика
- Роутинг:
Routerсканирует контроллеры и строит маршруты по атрибутам. Поддерживаются параметры вида/users/{id}. - DI:
Containerавтосвязывает зависимости по типам,#[Inject]позволяет указывать явные идентификаторы. - Валидация: DTO наследуется от
ParamsDTOи валидируется черезsymfony/validator. - Кеш:
RoutesCacheкеширует список маршрутов,OpenApiCache— OpenAPI-спеку.
MediaHelper
Утилита для загрузки изображений, видео и документов из $_FILES.
Пример:
Настройки через env:
MEDIA_UPLOAD_BASE— базовая папка загрузки (по умолчанию/upload-next).
Переменные окружения
SONATA_BASE_PATH— базовая директория приложения (для сканирования и кешей).APP_ENV— режим (dev/prod), влияет на кеши.
All versions of framework with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.3
ext-json Version *
ext-pdo Version *
symfony/validator Version ^7.1
ramsey/uuid Version ^4.7
ext-json Version *
ext-pdo Version *
symfony/validator Version ^7.1
ramsey/uuid Version ^4.7
The package sonata/framework contains the following files
Loading the files please wait ...