在Magento 2创建composer.json为您带来越来越多的方便管理组件更好,在你的项目中使用。本主题是证据充分的指令,协助店主熟悉的composer.json
文件。
Magento 2概述
Composer是PHP和依赖管理的Magento 2,Composer起着收集组件和产品版本中的作用。当使用Magento的2Composer,有存储每个组件的所有代码,没有要求,你只需要创建composer.json
文件,并宣布在该文件中所需要的组件,而不是说。随即,作曲家将自动定义并把这些部件的相应数据为您的项目中运行。
下面是Magento的2成分包括某些情况下composer.json
的文件:
- 当组件包含
composer.json
文件,并且还需要通过Magento 2编写器安装时(例如来自Packagist,Magento Marketplace或其他来源),组件管理器可以更新,卸载,启用或禁用该组件。 - 当组件仍包括
composer.json
文件,但并不需要通过Magento的安装2作曲家如书面码由开发定制,组件管理器仍然可以启用或禁用该组件。
因此,很容易让你流畅运行项目时,您的组件的根目录添加composer.json
文件。
composer.json
文件说明
Magento 2组件和产品版本都可以使用composer.json
文件,特别是:
根
- 位置:
composer.json
- 名称:
magento/magento2ce
- 类型:
project
这是主composer.json
文件。它可以作为一个模板,每根composer.json
文件来调用第三方组件的依赖。
CE项目
- 位置:
composer.json
- 名称:
magento/project-community-edition
- 类型:
project
该文件用于Magento社区版项目。它允许呼吁Magento的产品和一流的自动加载的依赖关系。此外,你可以用它通过Magento的系统集成商使用Composer来部署Magento的。
CE产品
- 位置:
composer.json
- 名称:
magento/product-community-edition
- 类型:
metapackage
该文件用于Magento的社区版产品。它允许调用(模块,主题等)在Magento的组件的依赖关系和第三方组件。此外,你可以用它通过Magento的系统集成商使用Composer来部署Magento的。
Magento框架
- 位置:
lib/internal/Magento/Framework/composer.json
- 名称:
magento/framework
- 类型:
magento2-library
您仅将此文件用于Magento框架。
模组
- 地点:
app/code/<vendor-name>/<module-name>/composer.json
vendor/<vendor-name>/<module-name>/composer.json
- 名称:
<vendor-name>/<package-name>
- 类型:
magento2-module
该composer.json
文件将帮助模块扩展在需要运行时调用外部依赖关系。
主题
- 地点:
app/design/frontend/<vendor-name>/<theme-name>/composer.json
app/design/adminhtml/<vendor-name>/<theme-name>/composer.json
- 名称:
<vendor-name>/<package-name>
- 类型:
magento2-theme
对于主题组件,此文件由父主题依赖项组成,该父主题依赖项用于扩展的继承。
语言包
- 位置:
app/i18n/<vendor-name>/<language-code>/composer.json
- 名称:
<vendor-name>/<package-name>
- 类型:
magento2-language
该composer.json
文件的语言包必须包括正确的ISO代码,适用于语言代码。
在Magento 2 Composer 该部件的种类
Magento 2组件很多,例如模块,主题或语言包。但是,在未分配给确切类别的情况下,通常将其称为magento-2-component
。
为了确定Magento 2组件的类型,系统可能基于Magento 2目录结构将目录和文件组合到正确的位置。
命名的组件的约定在Magento 2 Composer
创建Magento 2 Composer时,必须使用命名空间的格式:<vendor-name>/<package-name>
。因此,在这个部分,我们将学习的公约vendor-name
和package-name
。
供应商名称
vendor-name
对于Magento 2扩展名,必须为以下格式的小写字母:magento2 / *
如果要将扩展名提交给Magento Marketplace,则必须使用在此注册帐户的名称。该名称将composer.json
作为vendor-name
扩展名的一部分注入到文件中。我为您提供了一个特定的插图画家:
{
"name": "mageplaza/magento-2-seo-extension",
"description": "Magento 2 SEO extension",
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"mageplaza/core-m2": "dev-master"
},
"type": "magento2-module",
"version": "1.1.1",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"authors": [
{
"name": "Mageplaza",
"email": "hi@mageplaza.com",
"homepage": "https://www.mageplaza.com",
"role": "Leader"
}
],
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Mageplaza\\Seo\\": ""
}
}
}
包裹名字
在package-name
还包含与多个单词的小写,所以Magento的2 Composer请求由短划线作为以下约定将它们分离:
magento2/<type-prefix>-<suffix>[-<suffix>]...
特别type-prefix
是Magento 2组件的一种类型,并且suffix
要了解它在该类型中属于哪个组件。
这就是composer.json
在Magento 2中创建文件时您需要注意的所有事情。请谨慎操作,使自己composer.json
在运行项目时对文件更加满意