Package Builder¶
Package Builder — CLI-инструмент для быстрого старта разработки пакетов под MODX Revolution 3. Одна команда — и вы получаете готовую структуру компонента с настроенными инструментами. Дальше пишете код, а Package Builder берёт на себя рутину: извлечение лексиконов и настроек прямо из кода, сборку transport-пакета.
Что даёт Package Builder¶
Быстрый старт¶
- Готовая структура пакета за одну команду — директории, конфиги, шаблоны файлов, всё по стандартам MODX 3
- Кастомные шаблоны структуры — возможность создавать структуры пакетов различной сложности, без необходимости ручного создания нужных или удаления ненужных файлов и папок
Вариативность сценариев работы¶
- Headless — полностью файловая разработка и сборка без MODX и MySQL
- С установленным MODX — файловая разработка с тестированием элементов на сайте
- Смешанная — часть элементов в файлах, часть через админку, извлечение из БД
- Удалённый сервер — код локально, сборка и установка на сервере
Подробнее: Сценарии работы
Извлечение данных из кода¶
- Лексиконы — сканирует PHP-код, находит все вызовы
$modx->lexicon()и собирает ключи в файл лексикона (переводы нужно заполнить вручную) - Настройки — находит
$modx->getOption(), определяет типы настроек и создаёт готовый файл для сборки - Схема из таблиц — генерирует XML-схему MODX из существующих таблиц в БД
Качество кода¶
- PHPStan — статический анализатор, который находит ошибки в PHP-коде без запуска: неправильные типы аргументов, несуществующие методы, забытые проверки на null. Включён по умолчанию (level 5)
- PHPUnit + test-utils — готовые моки MODX для unit-тестирования компонентов без реальной БД. Тестовый scaffolding генерируется при
create - PHP CS Fixer (опционально) — автоматически приводит код к стандарту PSR-12: расставляет отступы, сортирует импорты, исправляет стиль
- ESLint (опционально) — находит ошибки и проблемы в JS-файлах компонента
- Автоматические проверки перед сборкой — PHPStan, CS Fixer и ESLint запускаются при
build
Сборка и дистрибуция¶
- Сборка transport.zip с поддержкой всех типов элементов MODX (сниппеты, чанки, плагины, шаблоны, TV, настройки, меню, события)
- Headless-сборка — без установленного MODX и MySQL
- Фильтрация файлов при сборке через
.packignore— технические файлы не попадут в пакет - Резолверы — скрипты установки, обновления и удаления
- Шифрование платных пакетов через modstore.pro API
Системные требования¶
Минимальные (headless-режим)¶
- PHP 8.1+
- Composer
- Расширения PHP:
zip,mbstring
Достаточно для setup, create, build, extract-*.
Для полного функционала¶
- PHP 8.1+
- Composer
- MODX Revolution 3 (установленный)
- MySQL/MariaDB
- Расширения PHP:
pdo_mysql,zip,mbstring
Необходимо для команд elements, export, schema-extract и build --install.
Начало работы¶
- Быстрый старт — пошаговое руководство от установки до первого пакета
- Сценарии работы — headless, файловая разработка, смешанная работа с админкой
- Установка — варианты установки и системные требования
- Тестирование — unit-тесты с моками MODX без реальной БД