В некоторых статьях рекомендуется создавать собственные расширения, app/code
а в других - создавать их в vendor
. Оба эти метода в порядке?
Что делать, если я хочу переопределить модуль в vendor
? Мне нужно написать свой пользовательский модуль также внутри vendor
папки или app/code
?
Они действуют как кодовые пулы, как в Magento 1.x?
Пожалуйста, кто-нибудь уточнить назначение каждого из каталогов.
magento2
magento-2.1
extensions
Sukeshini
источник
источник
Ответы:
Вы можете посмотреть на папки
app/code
иvendor
как кодовые пулы в M1, но на самом деле они не являются кодовыми пулами.В M1 нет понятия «кодпул».
vendor
папка для модулей, которые вы загружаете через композитор. Вы не должны писать код в этой папке.app/code
это ваша игровая площадка. Добавьте свои собственные расширения здесь.Если вам нужно что-то переписать / расширить в
vendor
папке, вы можете сделать это вapp/code
папке. Просто убедитесь, что вы указали мягкую зависимость вmodule.xml
вашем модуле так же, как вы делали это в M1 вapp/etc/modules/Namespace_Module.xml
файле.Разница лишь в том, что в м2 они на самом деле не являются зависимостями. Это последовательности.
Таким образом, ваш модуль будет загружен после того, как из
vendor
папкиисточник
app/code
это не игровая площадка;)XM
L-файл в модуле вендора, нужно ли нам упоминать зависимости вmodule.xml
?app/code
, но вы все равно можете добавлять свои собственные модули. И единственная причина, по которой вы должны установить m2 через github - это поиграть с ним и / или внести свой вклад в него. Так что это технически все еще делаетapp/code
вашу игровую площадку.app/code/Vendor
это ваша игровая площадка, так что нет риска сломать основной материалapp/code
это определенно правильное место для модулей вашего проекта.Вы никогда не должны писать код внутри
vendor
(этот каталог не игнорируется в вашем контроле исходного кода), поскольку он управляется только композитором и предназначен для стороннего модуля или модуля, который вы хотите использовать повторно (и вы опубликовали его на packagist или в своем собственном репозитории удовлетворительно). ).источник