**命名部件** 命名的组件的概观 您在composer.json和module.xml文件提供一个名称组件。这些文件还含有其它所需的配置参数,如模块的架构版本。 **先决条件** 在继续之前,确保你已经完成了所有的以下任务: * 创建一个文件结构 * 创建你需要的配置文件 * 注册您的组件 **添加组件的module.xml文件** 通过在组件的/ etc文件夹添加module.xml文件中声明组件本身。 组件声明本身(即定义了它的名字和生存)在module.xml文件,位于Magento的安装在<ComponentName>/etc/。 最小工作module.xml文件看起来是这样的: ~~~ <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_ComponentName" setup_version="2.0.0"/> </config> ~~~ name是组件的名称和setup_version是你的模块的数据库架构版本。这两个属性是必需的。 **添加组件composer.json文件** composer.json提供了一个组件名称,还指定组件的依赖。 此外,组件管理器会在组件的根目录composer.json并且可以执行组件及其依赖的行动。 尤其是: 如果一个组件已composer.json和组件用composer安装(包括packagist,Magento的市场,或其他来源),该组件管理器更新,卸载,启用或禁用组件。 如果该组件已composer.json但使用composer未安装(例如,自定义代码的显影剂写),组件管理器仍然可以启用或禁用的组件。 我们强烈建议您在您的组件的根目录composer.json无论您是否打算把它分发到其他Magento的商人。 一个示例如下: ~~~ { "name": "your-name/module-Acme", "description": "Test component for Magento 2", "require": { "php": "~5.5.0|~5.6.0", "magento/module-store": "1.0.0-beta", "magento/module-catalog": "1.0.0-beta", "magento/module-catalog-inventory": "1.0.0-beta", "magento/module-ui": "self.version", "magento/magento-composer-installer": "*" }, "suggest": { "magento/module-webapi": "1.0.0-beta" }, "type": "magento2-module", "version": "1.0.0-beta", "license": [ "OSL-3.0", "AFL-3.0" ], "autoload": { "files": [ "registration.php" ], "psr-4": { "Magento\\CatalogImportExport\\": "" } } } ~~~ name是您的组件的名称。 description - 是你组件目的的简要说明。 require,列出你的组件依赖于任何组件。 suggest-列出软依赖关系。该组件可以在不操作它们,但是,如果该部件是活动的,该组件可能会影响其功能。建议不会影响组件的加载顺序。 type决定了Magento的组件类型是什么。选择magento2主题,magento2的语言,或magento2模块。 version列出的组件的版本。 license列出了适用于您的组件适用的许可证。 autoload-Instructs指示作曲家加载指定的文件。 Magento的目前不支持路径存储库。