7 дек. 2016 г., 17:32

MODx и composer Как скрестить?

Возник вопрос почему никто этим не занялся и не написал плагин или туториал? Просмотрел весь Интернет есть два плагина но самый свежий 2-х летней давности. Это же непорядок) Вариант который я знаю (пробовал на Битрикс) просто подключить автолоадер в index.php. Если кто делал и получилось поделитесь. П.С. Также смотрел MODx 3 ветку там он есть.
Как я это сделал и что это мне дало
1)В папке сайта запускаем в консоли и на все вопросы жмем enter:
composer init
2) в index.php строчка 48 после инитиализации МОДх
require_once __DIR__ . '/core/vendor/autoload.php';
3) Редактируем composer.json
{ "name": "aleks/modx_test", "config": { "vendor-dir": "core/vendor" }, "autoload": { "psr-4": { "": "core/components" } } }
В config мы указали чтоб vendor был бы в core папке так как его надо кидать в папку недоступной публично. Autoload указали папку для авто загрузки теперь например если мы создали компонент doodles в папке components (/core/components/doodles) и добавили туда класс Hello
// /core/components/doodles/Hello.php <?php namespace Doodles; class Hello { public static function hi(): string { return "Hi"; } }
то в сниппете мы его уже сможем вызвать таким образом
<?php return Doodles\Hello::hi();
Это мне дало возможность использовать любые пакеты с packagist.org/ и интегрировать их в компоненты.
Добрый день. А как можно подключить composer к modx3? там уже есть в core vendor и при попытке что-то установить туда через composer modx ломается
Вы не знаете как это в modx 3 делается?


Добавить комментарий