Download the PHP package makise-co/framework without Composer
On this page you can find all versions of the php package makise-co/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package framework
Makise-Co
Описание
Данный фреймворк создан с применением современных подходов разработки на PHP. Для обеспечения эффективного использования памяти и высоких нагрузок.
Почему Makise? Kurisu Makise вдохновила на создание данного инструмента.
Области применения
Фреймворк создается преимущественно для SOA (Service Oriented Architecture), а тажке для Микросервисной архитектуры.
Основная цель - обеспечить удобную разработку HTTP REST API (в будущем не только REST).
Особенности
- Данный фреймворк не имеет магии, кроме DI
- Используется строгая типизация настолько, насколько это возможно (в пределах разумного)
- Нет глобальных контекстов
- Полностью неблокирующее I/O (корутины)
- PSR-совместим, но расширяет функциональность для обеспечения работы долгоживущего приложения (Long-Live/Long-Running)
- Фреймворк реализует API, схожее с Laravel
- Фреймворк использует общепринятые библетеки, такие как:
- symfony/console
- laminas/laminas-diactoros
- symfony/event-dispatcher
- monolog/monolog
- phpdi/phpdi
- vlucas/phpdotenv
Требования
- PHP 7.4+
- Swoole 4.4+
- Linux
Структура HTTP стека
- HTTP стек реализует стандарты PSR-7 и PSR-15
- Маршрутизация HTTP запросов осуществляется Pipeline-ориентированным путем (п.1)
- Порядок вызовов:
- RequestHandler
- Global Middlewares
- ExceptionHandlerMiddleware
- RouteDispatchHandler
- Route group middlewares
- RouteInvokeHandler
- Конечный обработчик запроса (контроллер)
Конфигурация
Конфиг файлы расположены в директории config
.
Путь к папке можно переопределить в bootstrap.php (сейчас это app.php)
Сервис провайдеры (инъекция через DI)
Необходимо реализовать метод в конфиге метод интерфейса MakiseCo\Config\AppConfigInterface::getProviders
Консольные команды
Необходимо реализовать метод в конфиге метод интерфейса MakiseCo\Config\AppConfigInterface::getCommands
Файлы с маршрутами
Необходимо реализовать метод в конфиге метод интерфейса MakiseCo\Config\AppConfigInterface::getHttpRoutes
Глобальные Middleware (CORS, AccessLog, etc...)
Необходимо реализовать метод в конфиге метод интерфейса MakiseCo\Config\AppConfigInterface::getGlobalMiddlewares
При использовании глобальных Middleware нужно самостоятельно обрабатывать исключения (или не допускать их вовсе), так как они выполняются до exception handler'а.
All versions of framework with dependencies
ext-json Version *
ext-swoole Version ^4.4
laminas/laminas-diactoros Version ^2.4
makise-co/http-router Version ^1.0
monolog/monolog Version ^2.0
nunomaduro/collision Version ^4.1
php-di/php-di Version ^6.1
psr/log Version ^1.1
symfony/console Version ^5.0
symfony/event-dispatcher Version ^5.0
symfony/finder Version ^5.0
symfony/http-foundation Version ^5.0
symfony/property-access Version ^5.0
symfony/var-dumper Version ^5.0
vlucas/phpdotenv Version ^4.1