定制 makise-co/framework 二次开发

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

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

makise-co/framework

Composer 安装命令:

composer require makise-co/framework

包简介

PHP Coroutine micro framework

README 文档

README

Описание

Данный фреймворк создан с применением современных подходов разработки на 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 стека

  1. HTTP стек реализует стандарты PSR-7 и PSR-15
  2. Маршрутизация HTTP запросов осуществляется Pipeline-ориентированным путем (п.1)
  3. Порядок вызовов:
    1. RequestHandler
    2. Global Middlewares
    3. ExceptionHandlerMiddleware
    4. RouteDispatchHandler
    5. Route group middlewares
    6. RouteInvokeHandler
    7. Конечный обработчик запроса (контроллер)

Конфигурация

Конфиг файлы расположены в директории 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'а.

统计信息

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

GitHub 信息

  • Stars: 2
  • Watchers: 3
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-04-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固