phphleb/updater
Composer 安装命令:
composer require phphleb/updater
包简介
Auto-update resources in the HLEB2 framework
README 文档
README
Автоматическое обновление ресурсов для фреймворка HLEB2. Позволяет разворачивать/откатывать функциональность библиотек в папки проекта, что позволяет соответствовать стандартам использования фреймворка и производить обновления библиотек.
Например, если в библиотеке требуются собственные маршруты и контроллеры, то они будут добавлены к другим маршрутам и контроллерам, а впоследствии могут быть оттуда убраны. Эти действия производятся консольными командами, одна для добавления, другая для отката функциональности. Следуя правилам создания такого развертывания по образцам, можно создавать собственные библиотеки, обладающие этими свойствами.
Установка
При помощи Composer:
composer require phphleb/updater
Сама по себе установка этой библиотеки ничего не добавляет в проект. Нужны библиотеки, которые можно использовать таким способом. Для понимания принципа развертывания можно установить и поэксперементировать с библиотекой phphleb/demo-updater.
Если вы хотите настроить добавление/откат некоторого списка библиотек одной командой на добавление и одной на отмену, то используйте библиотеку phphleb/combinator
Опции
В процессе установки можно выбирать опции установки библиотек (если это в них заложено), например, дизайн, как продемонстрировано в phphleb/demo-updater, а при установке группой - отключить консольные вопросы и развернуть со значениями по умолчанию или согласно общей конфигурации, переданной в phphleb/combinator.
Таким образом UPDATER решает проблему обновления вашего проекта и упрощает добавление сторонних решений.
Структура
На примере библиотеки phphleb/demo-updater можно рассмотреть основной принцип строения библиотеки, чтобы она могла быть развернута в проект.
- В библиотеке должен находится файл /Deployment/StartForHleb.php с соответствующим классом. Этот класс определяет действия при вызове из консольной команды.
- Дефолтная конфигурация для развертывания в файле /updater.json
- Папка с соответствиями для размещения в проекте, она задается в конфигурации /updater.json и для phphleb/demo-updater называется match-directory. В этой папке есть папка config для переноса файла конфигурации config.json в директорию /storage/lib/{phphleb}/{demo-updater}/. При существовании файла конфигурации он не переносится, так как может быть изменён разработчиком или запросом через Web-сервер. Также в папке match-directory есть папка rewrite, её содержимое повторяет структуру каталогов проекта, только опции в этой структуре представлены как метки, например, файл /match-directory/rewrite/resources/views/~demo-updater-design/base/index.php-upd будет перенесён в проект как /resources/views/demo-updater-design/index.php если был выбран дизайн base при установке. Можно также заметить, что от регистра меток зависит итоговое название директории.
Консольные команды
Фреймворк поддерживает следующий паттерн консольных команд для развертывания:
php console {vendor}/{library} [ add | remove | --help ] [ --no-interaction | --config-path= | --quiet ]
- {vendor}/{library} - название библиотеки для развертывания в качестве основной команды.
- add или remove - производимое соответственно добавление или удаление ресурсов библиотеки.
- --no-interaction - не выводить вопросы для выбора опций, будут установлены по умолчанию из конфигурации.
- --config-path= - указание пути из корня проекта, по которому будет использован конфигурационный файл. Данные из него подменят данные из основного файла updater.json. Например, --config-path=vendor/phphleb/demo-updater/updater.json (путь к файлу по умолчанию, который будет использован и без указания).
phphleb/updater 适用场景与选型建议
phphleb/updater 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 846 次下载、GitHub Stars 达 3, 最近一次更新时间为 2020 年 06 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 phphleb/updater 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phphleb/updater 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 846
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 15
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-06-06