Подключаем Composer к MODX
В предыдущей статье я обещал рассказать о том, как можно подключить функции через Composer. Делается это достаточно просто и займёт всего пару минут.
Давайте ещё раз проговорим, какие преимущества даёт такое решение. Ну во-первых, вы получаете опыт работы с менеджером зависимостей и поднимаете планку своей профессиональной пригодности. Во-вторых, вы можете подключать к MODX сторонние библиотеки из огромного репозитория композера, которые не являются MODX пакетами. Например, известный monolog или Carbon для работы с датами. В-третьих, это даёт вам возможность подключать свои собственные библиотеки и наработки, которые вы храните, например, на GitHub. Это могут быть библиотеки функций, классов, файлы шаблонов или чанков и т.п.
И так приступим. Файлы композера мы будем размещать в папке core
. В ней мы создадим файл composer.json
. Если композер у вас установлен не глобально, то туда же нужно положить и файл composer.phar
.
Теперь нужно создать плагин на событие OnMODXInit, который будет подключать файл автозагрузки композера:
switch ($modx->event->name) { case 'OnMODXInit': $file = MODX_CORE_PATH . 'vendor/autoload.php'; if (file_exists($file)) { require_once $file; } break; }
На данном этапе вы уже можете загружать любые пакеты через Composer.
Пример подключения пакета
Для примера подключим библиотеку хелперов для MODX (modHelpers). Для этого нужно создать файл composer.json
(или выполнить composer init
) и добавить в него соответстствующие разделы:
{ "repositories": [ { "type": "vcs", "url": "https://github.com/sergant210/modxhelpers" } ], "require": { "sergant210/modxhelpers": "1.*@beta" } }
Теперь осталось выполнить команду composer install
(вы должны перейти в папку core
), которая создаст папку vendor
и установит в неё указанную в секции «require» библиотеку «modxhelpers».
Нужно понимать, что не каждый хостинг настроен для работы с композером. Поэтому в некоторых случаях установку придётся проводить на локалке и потом деплоить папку vendor
на сервер.
П.С. Для работы с композером есть интересный компонент ComposerConsole. Он представляет собой консоль для работы с композером прямо в админке. Он устанавливает все необходимые файлы и настраивает плагин.
Комментарии ()
Вы должны авторизоваться, чтобы оставлять комментарии.
прописывать?!
Ещё у вас ещё здесь modzone.ru/documentation/modhelpers/ ошибка в ссылках — обе ведут на github.com/sergant210/modxhelpers хотя одна должна вести на
github.com/sergant210/modHelpers
И ссылка не установку ведёт в никуда, так и не понял как установить( modzone.ru/blog/2016/01/12/composer-plugin-to-modx/
Спасибо, исправил. Последняя ссылка как раз на эту статью. Ошибка в годе.
В статье рассказывается как подключить. Про установку нужно читать в документации по композеру.
Логично, а в каком? Где его взять? Как его установить, подключать?
Здесь не написано как устанавливать github.com/sergant210/modhelpers и при попытке установить
ошибка —
Здесь написано github.com/sergant210/modxhelpers, но оно же deprcated
Удивительный мир!
Наверно потому, что он через композер не ставится.
Не знаю ваш косяк или нет, но при указании версии "*" не хотел устанавливать. У вас версия никакая не прописана, добавил «version»: «1», и установилось нормально, на странице потом добавил просто:
Всё это для $request'ов, ибо на битрексе привык к удобным плюшкам вместо $_POST $_GET -__-
В итоге можно юзать легко и просто:
Или есть ещё что-то новее?
С модухом общаюсь неделю, подвернулся проект и в нём начинающий кодер такого наворотил просто ахтунк… А вообще — очень непривычно после Yii, WP, Bitrix'а. Эта муть через гуй, и код в базе — просто ахтунк! Может, конечно, не знаю чего, но первое впечатление не очень…
Вам нравится модух? Или больше ничего не пробовали?