**注册简介** Magento的组件,包括模块,主题,和语言包,必须在Magento的系统通过的Magento ComponentRegistrar类中注册。 每个组件都必须有一个在其根目录下命名为registration.php的文件。例如,下面是Magento的AdminNotification模块和registration.php文件。根据成分的种类,登记是通过为registration.php通过向它如下进行: **注册模块** 注册模块,配备: ~~~ ComponentRegistrar::register(ComponentRegistrar::MODULE, '<VendorName_ModuleName>', __DIR__); ~~~ 其中,<VendorName>是该公司提供的项目名字,<ModuleName>是模块的名称。 例: ~~~ use \Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_AdminNotification', __DIR__); ~~~ **注册主题** 注册与主题: ~~~ ComponentRegistrar::register(ComponentRegistrar::THEME, '<area>/<vendor>/<theme name>', __DIR__); ~~~ 其中,是模块的功能区域(前端,控制器,等等。),是该公司提供的主题的名称,并且是主题的名称。 例 ~~~ ComponentRegistrar::register(ComponentRegistrar::THEME, 'frontend/Magento/luma', __DIR__); ~~~ **注册语言包** 注册语言包有: ~~~ ComponentRegistrar::register(ComponentRegistrar::LANGUAGE, '<VendorName>_<packageName>', __DIR__); ~~~ 其中,<VendorName>是该公司提供的软件包的名称<packageName>是包的名称。 例 : ~~~ ComponentRegistrar::register(ComponentRegistrar::LANGUAGE, 'magento_de_de', __DIR__); ~~~ **调用和registration.php与自动加载composer.json** 您创建registration.php的文件,你正在创建您的组件的composer.json文件后,援引composer.json的自动加载部分中的registration.php的文件: ~~~ { "name": "Acme-vendor/bar-component", "autoload": { "psr-4": { "AcmeVendor\\BarComponent\\": "" }, "files": [ "registration.php" ] } } ~~~ 样品和registration.php文件 ~~~ <?php use \Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_AdminNotification', __DIR__); ?> ~~~