使用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