使用Composer来打包模块.
* 使用composer打包Magento的2模块
* 使用我们的验证工具在分发之前检查你的包。
* 分布在仅Magento的市场。上传包到Magento的卖场
**包装概述**
Magento的应用程序使用composer包在一个应用程序实例分发,安装和升级组件。
打包组件,您必须:
创建一个Magento的composer文件(composer.json)。 使用registration.php的注册组件包并发布您的组件。 使用我们的验证工具在分发之前检查你的包。
**创建一个Magento的composer文件**
Magento的composer.json文件定义的名称,要求,版本,以及有关的部件等基本信息。该文件必须被放置在模块的根目录。
该composer.json使用composer的通用架构,有以下限制:
~~~
name:一个完全合格的组件名称,格式为<vendor-name>/module-<component-name> 。所有英文字母必须小写。使用破折号分隔单词。
type:例如模块,此值必须设置为magento2模块。其他可能的类型还有元数据包,magento2主题和magento2语言。
autoload:指定所需的信息被加载,如[和registration.php](/guides/v2.0/extension-dev-guide/build/component-registration.html)。欲了解更多信息,请参阅[自动载入的](https://getcomposer.org/doc/01-basic-usage.md#autoloading)composer。
~~~
下表讨论了Magento的市场支持组件类型。下表中的composer类型列指定类型字段必须添加到composer.json为该类型的组件的值。
|Friendly name |composer.json type |Description |
| -- | -- | -- |
| Metapackage|metapackage |从技术上讲,composer封装类型,而不是一个Magento的组件类型。一个元数据包仅包含一个指定的组件和它们的依赖列表的composer.json的。例如,无论是Magento的CE和Magento的EE是元数据包。 |
| Module|magento2-module |该修改的Magento应用程序行为守则。您可以上传单个模块的Magento的市场或模块可以依赖于某些父包。 |
| Theme|magento2-theme |它修改店面或Magento管理的外观和感觉的代码。 |
| Language package|magento2-language |翻译店面或管理 |
**使用元数据包**
综合包让你组由多个包成一个团结的整体的扩展。作为标准composer.json文档中描述的这种工作的。如果您有使用多个包的扩展,你必须使用一个元数据包作为根包。否则,你不应该使用元数据包。您提交给Magento的市场上的元数据包应该只包含元数据包
我们建议的元数据包是指特定的组件版本。不要使用通配符来表示版本范围。
**元数据包的例子**
下面的例子是一个综合包一个composer.json:
~~~
{
"name": "magento/product-community-edition",
"description": "A sample metapackage",
"version": "2.0.0",
"type": "metapackage",
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"zendframework/zend-stdlib": "~2.4.6",
"zendframework/zend-code": "~2.4.6",
"zendframework/zend-server": "~2.4.6",
"zendframework/zend-soap": "~2.4.6",
"zendframework/zend-uri": "~2.4.6",
"zendframework/zend-validator": "~2.4.6",
"zendframework/zend-crypt": "~2.4.6",
"zendframework/zend-console": "~2.4.6",
"zendframework/zend-modulemanager": "~2.4.6",
"zendframework/zend-mvc": "~2.4.6",
"zendframework/zend-text": "~2.4.6",
"zendframework/zend-i18n": "~2.4.6",
"ext-ctype": "*",
"ext-gd": "*",
"ext-spl": "*",
"ext-dom": "*",
"ext-simplexml": "*",
"ext-mcrypt": "*",
"ext-hash": "*",
"ext-curl": "*",
"ext-iconv": "*",
"ext-intl": "*",
"ext-xsl": "*",
"ext-mbstring": "*",
"ext-openssl": "*"
},
"license": [
"OSL-3.0",
"AFL-3.0"
]
}
~~~
示例composer.json文件
下面的例子是一个模块composer.json文件:
~~~
{
"name": "magento/sample-module-newpage",
"description": "A Magento 2 module that creates a new page",
"type": "magento2-module",
"version": "1.0.0",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"magento/framework": "~100.0.4"
},
"autoload": {
"files": [ "registration.php" ],
"psr-4": {
"Magento\\SampleNewPage\\": ""
}
}
}
~~~
**包并发布你的扩展**
通过对目录中的压缩操作与扩展名(排除不必要的目录)创建一个包,扩展的。例如:
~~~
zip -r vendor-name_package-name-1.0.0.zip package-path/ -x 'package-path/.git/*'
~~~
使用字母数字字符用破折号分隔单词包文件名。不要使用空格。
Magento的可检索任何有效的URL GitHub的您的扩展包。
**托管在GitHub和Packagist**
先决条件:必须的git你的机器上进行设置。
1.导航到你的组件目录,并在根composer.json文件,并使其成为一个新的git仓库。详情请参阅GitHub的文档。
2.当你犯并推组件到你的GitHub存储库中,您可以:
* 使用Composer来直接引用它,或者
* 使用以下步骤通过Packagist提及的包。
* 注册在packagist.org一个帐户。
* 单击提交包按钮并粘贴您的GitHub库的链接。 Packagist自动收集从组件composer.json文件中的信息并将其链接到GitHub的资源库,让您引用包作为卖方/模块没有任何额外的存储库的信息,因为这完全是使用GitHub的需要。
**主机上的私人资料库**
如果使用安装向导,您必须使用Magento的市场信息库。私人信息库,可用于开发或私有代码,但安装必须使用命令行界面来完成(你可以安装一个指定只能用命令行安装私人存储库)。
1.使用系统,如赛帝或Toran建立自己作曲的包装库。
2.创建以类似于上述的方式包装。
3.提交/注册您自己的仓库包。例如,它可以作为托管到一个代码库的引用或提交作为一个zip压缩文件。
4.要在项目中使用专用包装库,以下内容添加到您的composer.json文件:
~~~
{
"repositories": [
{
"type": "composer",
"url": [repository url here]
}
]
}
~~~
在私人库中的所有包现在可以在需要现场中被引用。
- 前端开发
- 前端开发人员指南
- 介绍
- 主题模块路径规则符号
- 主题Themes
- 概括
- 创建主题
- magento主题结构
- 应用和配置管理主题
- 配置图片属性主题
- 主题继承
- 定位模板,布局和样式
- 布局layout
- 布局说明
- 布局文件类型
- 扩展继承布局
- 覆盖布局
- 公共布局任务定制
- 自定义布局图
- 模板Templates
- 模板定制演练
- 模板的基本概念
- 定制的模板插图
- 定制电子邮件模板
- 模板XSS安全
- 层叠样式表(css)
- 载入css
- magento继承修改模板.phtml
- 只修改phtml文字内容
- 在magento的block之前加内容
- PHP开发
- PHP开发人员指南
- 开发路线图
- composer简介
- 常见术语表
- 准备(开发快速启动)
- 组件类型和版本
- 有关组件文件结构
- 路线图制定和包装组件
- 建立
- composer.json文件
- 创建组件文件结构
- 定义你的配置文件
- 注册您的组件
- URN架构验证
- 命名部件
- 组件加载顺序
- 启用或禁用组件
- package包
- 打包组件
- 更新
- 验证
- 测试你的组件
- 加入CLI命令
- 命令命名指南
- 如何添加CLI命令
- 组件开发
- 服务合同
- 公共接口和API
- 服务合约设计模式
- 依赖注入
- 实例化对象与工厂
- 代理
- 代码生成
- EAV和扩展属性
- Magento的插件
- 路由
- 索引
- 配置服务网络的API
- 向后兼容性
- 消息队列
- 在开发过程中清除目录
- magento设置
- magento开发模式设置
- magento安装中文语言包
- 创建一个新的block
- magento后台操作
- 调试-页面phtml所在的目录
- magento添加分类
- 添加属性
- 属性组
- 组合商品
- 配置商品
- 虚拟商品
- 捆绑商品
- 可下载商品
- 商品促销设置
- CMS页面设置
- block使用
- connect使用
- 多店铺
- 联系我们
- paypal设置
- 物流运费
- 网站地图
- 订单处理
- 账号管理
- 网站货币设置
- google分析
- 页面默认设置
- Magento技巧积累
- 常用技巧
- magento2更改商品图片在网站中不同位置的大小
- magento的view里面的default.xml