1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sujunli-phpMore-framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 00:48 057f3a7

phpMore-framework

Введение

phpMore — это высокопроизводительный, многоцелевой и распределённый PHP-фреймворк. Это резидентный в памяти PHP-фреймворк, который позволяет избежать потери производительности, связанной с запуском процессов и загрузкой файлов, характерной для традиционного режима работы PHP. phpMore-framework является основным фреймворком.

Архитектура программного обеспечения

  1. Код разделен на три слоя: слой сервиса, слой Dao и слой Sdk. Методы слоя сервиса запускаются маршрутами, слой Dao представляет собой источник бизнес-данных, а слой Sdk является слоем интерфейса. Bo — объект бизнес-логики, используемый для передачи данных между различными Dao. Po — постоянный объект (объекты Form и Vo также являются постоянными объектами). Они используются для передачи данных в слое Dao различным слоям Sdk.
  2. Структура каталогов состоит из двух основных каталогов: локального каталога конфигурации и каталога пакетов vendor.

Руководство по установке

  1. Скопируйте phpMore (https://gitee.com/sujunli/phpMore.git) в корневой каталог пользовательского проекта.
  2. Затем скопируйте phpMore--framework в каталог vendor/cn/gz53/framework проекта.

Использование

  1. Требуется PHP 7.0 или выше.
  2. Если вы считаете, что это неудобно, вы можете опустить слой Dao, объекты Bo, Po, Form и Vo, и даже некоторые слои Sdk, но рекомендуется использовать трехслойную структуру, поскольку она обеспечивает четкое разделение ввода и вывода.
  3. Параметры методов объектов каждого слоя основного фреймворка передаются через интерфейсы, а возвращаемые значения должны быть либо true, либо false, указывая, следует ли продолжить или вернуться.
  4. CLIApplication — это приложение PHP, работающее в режиме командной строки. Оно работает как однопроцессное приложение.
  5. ScriptApplication — это приложение PHP, которое работает в режиме CGI. Оно работает как многопроцессное приложение (например, предоставляемое php-fpm).
  6. HttpServerApplication — это приложение PHP, которое работает в режиме HTTP-сервера. Для этого требуется поддержка расширения swoole, оно работает как многопроцессорное приложение и является резидентным в памяти PHP-фреймворком, избегая потери производительности при запуске процессов и загрузке файлов, характерных для традиционного режима работы PHP.
  7. WebSocketServerApplication — это приложение PHP, которое работает в режиме сервера WebSocket. Для этого также требуется поддержка расширения swoole.
  8. WorkerApplication — это приложение PHP, которое работает в режиме пула процессов. Для этого также требуется поддержка расширения swoole. Можно определить бизнес-маршруты для каждого процесса.
  9. В основном приложении framework можно настроить базовое приложение фреймворка. Пользователи могут настраивать приложения на основе фреймворков. ScriptApplication и CLIApplication в основном предназначены для разработки и отладки под Windows, поскольку в настоящее время Windows не поддерживает swoole. Производственные среды используют HttpServerApplication, WebSocketServerApplication и WorkerApplication. Основное отличие между ScriptApplication и CLIApplication заключается в том, что они имеют тайм-ауты и не имеют тайм-аутов. Пользователи могут обновлять страницы для отладки или запускать команды в командной строке для отладки. phpMore и phpMore-framework разделены, и пользователи могут объединить их вместе.
  10. По умолчанию в каталоге local нет файлов кода. Файлы PHP являются только файлами конфигурации в формате PHP, за исключением файла входа. Что касается того, какой AutoLoad.php, пользователь может использовать загрузчик composer в каталоге vendor.
  11. Пользовательский код также помещается в каталог vendor, так что пользовательский код можно перенести, не застревая в дереве фреймворка. Рекомендуется структурировать каталоги в соответствии с доменными именами, чтобы предотвратить конфликты имен.
  12. После написания бизнес-методов в Service необходимо настроить маршрутизацию и сопоставление методов обслуживания в local/conf/routers и local/conf/services соответственно.
  13. Как правило, пользовательские объекты Service, Dao, Sdk, Bo, Po, Form и Vo должны наследовать соответствующие классы Service, Dao, Sdk, Bo, Po, Form и Vo в framework. Таким образом, они могут быть помещены в контейнер, и пользователь может определять дочерние классы для Service, Dao, Sdk, Bo, Po, Form и Vo. Затем другие классы пользователя могут наследовать эти дочерние классы, тем самым уменьшая сцепление.
  14. Следует обратить внимание на сброс переменных данных в резидентной памяти, особенно в режиме HttpServerApplication.

Участие и вклад

  1. Fork этот репозиторий.
  2. Создайте ветку Feat_xxx.
  3. Отправьте код.
  4. Создайте запрос на вытягивание.

Навыки Gitee

  1. Используйте Readme_XXX.md для поддержки разных языков, таких как Readme_en.md и Readme_zh.md.
  2. Официальный блог Gitee [blog.gitee.com].
  3. Вы можете посетить этот адрес [https://gitee.com/explore], чтобы узнать о выдающихся проектах с открытым исходным кодом на Gitee.
  4. GVP (Gitee Value Project) — это проект с открытым исходным кодом, признанный Gitee как наиболее ценный. Это выдающийся проект с открытым исходным кодом, выбранный Gitee после всесторонней оценки.
  5. Официальное руководство Gitee [https://gitee.com/help].
  6. Персонажи обложки Gitee — это серия, демонстрирующая элегантность членов Gitee [https://gitee.com/gitee-stars/].

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sujunli-phpMore-framework.git
git@api.gitlife.ru:oschina-mirror/sujunli-phpMore-framework.git
oschina-mirror
sujunli-phpMore-framework
sujunli-phpMore-framework
master