@ragnarek

Как правильно создавать модули yii2 и для дальнейшего выкладывания на github?

Создавал модуль, но столкнулся с рядом проблем.
Так как при его создании нужно проверять его функциональность, то создавал я в рабочем проекте и модуль лежал в папке modules. Когда дело дошло до выливания его на github, то начались танцы с поиском всех используемых неймспейсов и их переименованием в соответствии с неймспейсом модуля, как самостоятельной единицы.
Можно конечно создавать модуль сразу в папке vendor например, при этом сразу прописывая пространство имен правильно, но опять же придется править файлы composer, чтобы этот модуль корректно подгружался.
Собственно вопрос в заголовке. И тот и другой вариант я не считаю удобным, думаю что должно быть как то все проще.
  • Вопрос задан
  • 4158 просмотров
Решения вопроса 1
@sanex3339
Если я вас правильно понял, то вот ответ:
По поводу нейспейсов, есть 2 варианта. Если модуль ставите через composer, то в composer.json пишите
"autoload": {
        "psr-4": { 
            ragnarek\\amazingmodule\\": "" 
        }
    },

Т.е. это алиас до папки с модулем, которая лежит в папке с вашим vendor именем.
После установки composer'ом, все это дело запишется в extensions.php.
Соответственно, неймспейсы должны везде быть вида
use ragnarek\amazingmodule\controllers;

Если не через composer, то надо сразу же прописывать алиасы в extensions.php, посмотрите примеры других алиасов, в этом файле.

Таким образом к классам модуля можно всегда обратиться через неймспейсы
use ragnarek\amazingmodule;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы