{"id":20235284,"url":"https://github.com/phphleb/updater","last_synced_at":"2025-06-12T01:38:26.012Z","repository":{"id":57040471,"uuid":"269802145","full_name":"phphleb/updater","owner":"phphleb","description":"Auto-update resources in the HLEB2 framework","archived":false,"fork":false,"pushed_at":"2024-01-31T10:05:57.000Z","size":66,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T16:41:10.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phphleb.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-05T23:01:27.000Z","updated_at":"2024-01-29T17:05:48.000Z","dependencies_parsed_at":"2023-02-10T08:30:26.860Z","dependency_job_id":null,"html_url":"https://github.com/phphleb/updater","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phphleb%2Fupdater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phphleb%2Fupdater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phphleb%2Fupdater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phphleb%2Fupdater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phphleb","download_url":"https://codeload.github.com/phphleb/updater/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248274908,"owners_count":21076498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T08:15:44.248Z","updated_at":"2025-04-10T18:52:48.185Z","avatar_url":"https://github.com/phphleb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## U_P_D_A_T_E_R\n\n[![HLEB2](https://img.shields.io/badge/HLEB-2-darkcyan)](https://github.com/phphleb/hleb) ![PHP](https://img.shields.io/badge/PHP-^8.2-blue) [![License: MIT](https://img.shields.io/badge/License-MIT%20(Free)-brightgreen.svg)](https://github.com/phphleb/hleb/blob/master/LICENSE)\n\nАвтоматическое обновление ресурсов для фреймворка [HLEB2](https://github.com/phphleb/hleb).\nПозволяет разворачивать/откатывать функциональность библиотек в папки проекта, \nчто позволяет соответствовать стандартам использования фреймворка и производить обновления библиотек.\n\nНапример, если в библиотеке требуются собственные маршруты и контроллеры, то они будут добавлены к\nдругим маршрутам и контроллерам, а впоследствии могут быть оттуда убраны.\nЭти действия производятся консольными командами, одна для добавления, другая для\nотката функциональности.\nСледуя правилам создания такого развертывания по образцам, можно создавать собственные\nбиблиотеки, обладающие этими свойствами. \n\n\n### Установка\n\nПри помощи Composer:\n ```bash\n composer require phphleb/updater\n ```\nСама по себе установка этой библиотеки ничего не добавляет в проект.\nНужны библиотеки, которые можно использовать таким способом. Для понимания\nпринципа развертывания можно установить и поэксперементировать с библиотекой\n[phphleb/demo-updater](https://github.com/phphleb/demo-updater).\n\nЕсли вы хотите настроить добавление/откат некоторого списка библиотек одной командой на добавление\nи одной на отмену, то используйте библиотеку [phphleb/combinator](https://github.com/phphleb/combinator)\n\n### Опции\nВ процессе установки можно выбирать опции установки библиотек (если это в них заложено),\nнапример, дизайн, как продемонстрировано в [phphleb/demo-updater](https://github.com/phphleb/demo-updater),\nа при установке группой - отключить консольные вопросы и развернуть со значениями\nпо умолчанию или согласно общей конфигурации, переданной в [phphleb/combinator](https://github.com/phphleb/combinator). \n\n_Таким образом UPDATER решает проблему обновления вашего проекта и упрощает добавление сторонних решений._\n\n### Структура \nНа примере библиотеки [phphleb/demo-updater](https://github.com/phphleb/demo-updater) можно рассмотреть\nосновной принцип строения библиотеки, чтобы она могла быть развернута в проект.\n\n1) В библиотеке должен находится файл /Deployment/StartForHleb.php с соответствующим классом.\nЭтот класс определяет действия при вызове из консольной команды.\n2) Дефолтная конфигурация для развертывания в файле /updater.json\n3) Папка с соответствиями для размещения в проекте, она задается в конфигурации /updater.json\nи для phphleb/demo-updater называется match-directory. В этой папке есть папка config для переноса\nфайла конфигурации config.json в директорию /storage/lib/{phphleb}/{demo-updater}/. При существовании\nфайла конфигурации он не переносится, так как может быть изменён разработчиком или запросом через Web-сервер.\nТакже в папке match-directory есть папка rewrite, её содержимое повторяет структуру каталогов проекта,\nтолько опции в этой структуре представлены как метки, например, файл /match-directory/rewrite/resources/views/~demo-updater-design/base/index.php-upd\nбудет перенесён в проект как /resources/views/demo-updater-design/index.php если был выбран дизайн _base_ при установке.\nМожно также заметить, что от регистра меток зависит итоговое название директории.\n\n### Консольные команды\n\nФреймворк поддерживает следующий паттерн консольных команд для развертывания:\n\nphp console **{vendor}/{library}** [ _add | remove | --help_ ] [ _--no-interaction | --config-path= | --quiet_ ]\n\n+ **{vendor}/{library}** - название библиотеки для развертывания в качестве основной команды.\n+ **add** или **remove** - производимое соответственно добавление или удаление ресурсов библиотеки.\n+ **--no-interaction** - не выводить вопросы для выбора опций, будут установлены по умолчанию из конфигурации.\n+ **--config-path=** - указание пути из корня проекта, по которому будет использован\nконфигурационный файл. Данные из него подменят данные из основного файла updater.json.\nНапример, --config-path=vendor/phphleb/demo-updater/updater.json (путь к файлу по умолчанию, который будет использован и без указания).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphphleb%2Fupdater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphphleb%2Fupdater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphphleb%2Fupdater/lists"}