Download the PHP package on1kel/hyperf-lighty without Composer

On this page you can find all versions of the php package on1kel/hyperf-lighty. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package hyperf-lighty

Hyperf Lighty

Набор инструментов для быстрого и стандартизированного создания REST API на базе Hyperf.
Предоставляет модульную архитектуру для CRUD-операций, валидации, событий моделей и генерации OpenAPI-документации.


Основные возможности


Установка

Требуется PHP 8.1+ и Hyperf 3.1+


Быстрый старт

1. Подключение конфигурации

После установки зарегистрируйте конфиг-провайдер в вашем config/autoload/dependencies.php (обычно добавляется автоматически):

2. Публикация конфигураций

Будут созданы файлы:

3. Создание CRUD-контроллера

Будут автоматически сгенерированы:

4. Генерация файла _ide_helper_models.php

Для корректной работы автоматической генерации OpenAPI-документации пакет требует наличия актуального файла _ide_helper_models.php, содержащего метаданные всех моделей проекта.

Требования

Установка

Генерация моделей

После установки выполните команду:

В результате будет создан (или обновлён) файл:

Этот файл обеспечивает:

Совет: рекомендуется добавить команду генерации в ваши dev-скрипты Composer, например:


Архитектура

4. Создание _ide_helper_models.php

Для полноценной работы пакета необходимо установленный пакет friendsofhyperf/ide-helper и выполненная команда для полноценной работы автоматической генерации OpenApi документации

Ниже — продуктовое, аккуратное описание, без учебного тона и лишней техники, с акцентом на зачем, что даёт, как использовать в проде.


5. Разделение процессов по ролям (для запуска в отдельных контейнерах)

Пакет on1kel/hyperf-lighty вводит единый, декларативный механизм управления процессами Hyperf, предназначенный для чёткого разделения ролей приложения и безопасного деплоя в Docker/Kubernetes.

Цель:


Публикация конфигурации

Опубликуйте конфигурацию пакета:

После публикации конфиг пакета становится единственным источником истины для определения:


Замена стандартного processes.php

Замените стандартный config/autoload/processes.php на версию, предоставляемую пакетом.

Этот файл:


Назначение ролей процессам

Для указания ролей используется атрибут DeployRoles. Процесс сам декларативно описывает, в каких ролях он допустим.

Пример: процесс cron

Такой процесс будет запущен только в контейнере с:


Переопределение стандартных процессов Hyperf

Пакет предоставляет собственные реализации стандартных процессов Hyperf с уже назначенными ролями.

Cron

Queue consumers

Это позволяет:


Поддержка процессов из внешних пакетов (final, без атрибутов)

Не все процессы можно или целесообразно помечать атрибутами ролей:

Для таких случаев process_registry.php поддерживает явное назначение ролей.

Таким образом:

Приоритет правил:

  1. Явное указание ролей в process_registry.php
  2. Атрибут DeployRoles
  3. Отсутствие ролей → процесс считается универсальным

Как это используется в контейнерах

Один и тот же Docker-образ, разные роли:

Каждый контейнер поднимает только свой набор процессов, без риска дублирования.


6. Единый логгер и вывод в stdout (prod-ready)

on1kel/hyperf-lighty предоставляет готовое решение для унификации логирования в Hyperf-приложениях и корректной работы в Docker / Kubernetes.

Проблема, которую решает пакет

По умолчанию в Hyperf существуют два разных источника логов:

Это приводит к проблемам в проде:


Что делает Hyperf Lighty

Пакет предоставляет production-ready реализацию StdoutLoggerFactory, которая:

В результате:


Подключение StdoutLoggerFactory

В каждом приложении биндинг выполняется один раз — в config/autoload/dependencies.php:

После этого:


Настройка формата логов (logger.php)

StdoutLoggerFactory не заменяет конфигурацию логов — она лишь направляет вывод в Monolog. Формат, уровни и handlers задаются стандартным способом через config/autoload/logger.php.

Рекомендуемая схема:

Пример минимальной конфигурации:

⚠️ В Docker/Kubernetes рекомендуется использовать только stdout/stderr, без файловых логов внутри контейнера.


Каналы логирования

Рекомендуется использовать фиксированные каналы, а не динамические имена:

❗ Не используйте request_id или user_id в качестве имени канала — это приводит к утечкам памяти, так как LoggerFactory кеширует логгеры.

Контекст (request_id, trace_id и т.п.) должен передаваться через context или processors.


Безопасность


Index Action (Поиск и аналитика)

Метод POST /search поддерживает расширенные возможности поиска, фильтрации, сортировки и аналитики.

Структура запроса

Select (Выбор полей)

Позволяет указать конкретные поля для выборки и применять агрегации.

Параметр Тип Описание
column string Имя столбца. Может содержать таблицу: table.column. Используйте * для всех полей.
aggregation string? Функция агрегации: count, sum, avg, min, max
alias string? Псевдоним для столбца в ответе

Важно: При использовании агрегаций ответ возвращается как сырые данные, а не через ресурс.

Where (Фильтрация)

Поддерживает одиночные условия и группы с логическими операторами.

Параметр Тип Описание
type string single (по умолчанию) или group
column string Столбец для фильтрации
operator string Оператор: =, !=, >, <, >=, <=, like, not like, in, not in
value mixed Значение для сравнения. Может быть массивом для in/not in.
value_type string scalar (значение) или pointer (ссылка на другой столбец)
boolean string and (по умолчанию) или or
group array Вложенные условия (для type: group)

Order (Сортировка)

Параметр Тип Описание
column string Столбец для сортировки
direction string asc или desc
null_position string Позиция NULL значений: first или last

Join (Присоединение таблиц)

Используется для фильтрации/сортировки по связанным таблицам или аналитических запросов.

Параметр Тип Описание
type string Тип JOIN: left, right, inner, full
table string Имя таблицы для присоединения
on object Условие ON с left, operator, right
where array? Дополнительные условия WHERE внутри JOIN

Примечание: Для получения связанных данных в обычных запросах лучше использовать with (relationships).

Group By (Группировка)

Используется вместе с агрегациями в select.

With (Relationships)

Загрузка связанных сущностей через Eloquent relationships.

Пагинация

Для аналитических запросов (с агрегациями или group_by) используется простой LIMIT/OFFSET вместо Laravel paginate().

Аналитические запросы

При наличии агрегаций или group_by запрос считается аналитическим:

Пример аналитического запроса:

Ответ:

Фильтрация полей в ресурсах

При указании конкретных полей в select (без агрегаций), ресурс вернёт только запрошенные поля:

Для работы этой функции в вашем ресурсе используйте метод filterByRequestedFields():


Лицензия

Лицензия MIT. Для получения большей информации обращайтесь к тексту лицензии.


All versions of hyperf-lighty with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-json Version *
ext-sodium Version *
hyperf/async-queue Version ^3.1
hyperf/command Version ^3.1
hyperf/crontab Version ^3.1
hyperf/database Version ^3.1
hyperf/db-connection Version ^3.1
hyperf/event Version ^3.1
hyperf/http-message Version ^3.1
hyperf/http-server Version ^3.1
hyperf/logger Version ^3.1
hyperf/resource Version ^3.1
hyperf/support Version ^3.1
hyperf/validation Version ^3.1
khazhinov/php-support Version ^1.1
on1kel/hyperf-fly-docs Version ^1.0
psr/simple-cache Version ^3.0
ramsey/uuid Version ^4.9
spatie/data-transfer-object Version ^3.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package on1kel/hyperf-lighty contains the following files

Loading the files please wait ...