Magento 2: Когда registration.php называется?


Когда мы создали/установили новый модуль, он должен иметь registration.php в соответствии со стандартом Magento.

Когда мы запускаем php bin/magento setup:upgrade. Модуль будет установлен.

Как на самом деле эта команда проверяет наличие моего пользовательского модуля registration.php и устанавливает его?

Author: 7ochem, 2016-09-28

1 answers

Для модулей, установленных с composer, registration.php должен быть зарегистрирован как файл автоматической загрузки в composer.json.

Для локальных модулей в "приложении" (на которое вы, похоже, ссылаетесь) есть app/etc/NonComposerComponentRegistration.php который сам зарегистрирован как файл автозапуска и ищет следующие пути:

$pathList[] = dirname(__DIR__) . '/code/*/*/cli_commands.php';
$pathList[] = dirname(__DIR__) . '/code/*/*/registration.php';
$pathList[] = dirname(__DIR__) . '/design/*/*/*/registration.php';
$pathList[] = dirname(__DIR__) . '/i18n/*/*/registration.php';
$pathList[] = dirname(dirname(__DIR__)) . '/lib/internal/*/*/registration.php';
$pathList[] = dirname(dirname(__DIR__)) . '/lib/internal/*/*/*/registration.php';
 5
Author: Fabian Schmengler, 2016-09-28 08:49:57