1. 程式人生 > >magento 2 開發之旅——框架結構

magento 2 開發之旅——框架結構

1.框架目錄結構


  • 模組放在 app/code.
  • 前端主題放在 app/design/frontend.
  • 後臺主題放在 app/design/adminhtml.
  • 語言包放在 app/i18n.

注意事項:

在Magento 2中,沒有程式碼池。因此,沒有更多的混淆 app/code/local,app/code/core 以及 app/code/community。您的模組將只在目錄中 app/code/YourNamespace/YourModule。

2.模組檔案結構

一個Magento 2模組典型的檔案結構如下圖:


  •   Api :包含暴露給API的任何PHP類。
  •  Block : 包含PHP檢視類作為模型檢視控制器(MVC)模組邏輯的垂直實現的一部分。
  • Controller: 包含PHP控制器類作為MVC垂直模組邏輯實現的一部分。
  • etc: 包含配置檔案。
  •  i18n :包含本地化檔案。
  • Model: 包含PHP模型類作為MVC垂直實現模組邏輯的一部分。
  •  Plugin :包含任何所需的外掛。
  •  view :包含檢視檔案,包括靜態檢視檔案,設計模板,電子郵件模板和佈局檔案。
  • registration.php:此檔案指定在生產環境中安裝元件的目錄。 預設情況下,元件安裝在 <magento 2 根目錄>/vendor 目錄。Magento 2元件 , 包括模組, 主題, 和語言包, 必須註冊在Magento 2ComponentRegistrar
    類。每個元件必須有一個檔名為 registration.php 檔案在根目錄。
  • composer.json: 指定元件依賴關係和其他元資料。Magento 2 使用Composer, 一個PHP依賴管理器,封裝元件和產品版本。Composer 讀取 composer.json 檔案,下載第三方依賴列表在這個檔案中。元件管理器使用 composer.json 檔案在擴充套件根目錄下執行更新,解除安裝,啟用或禁用擴充套件。
  • di.xml每個模組可以有一個全域性和區域特定 di.xml 檔案,Magento 2讀取系統中定義的所有di.xml配置檔案並且通過新增所有節點將它們合併在一起。
  • 作為一般規則,特定區域的di.xml檔案應該配置為表示層依賴,和你的模組的全域性di.xml檔案應該配置附屬的依賴。Magento 2載入配置在以下幾個階段 :
    1. Initial(初始) (app/etc/di.xml)
    2. Global(全域性) (<模組目錄>/etc/di.xml)
    3. Area-specific(特定區域) (<模組目錄>/etc/<area>/di.xml)

3.主題檔案結構

一個典型的主題檔案結構如下圖:


4.語言包檔案結構

一個典型的語言包檔案結構如下圖:



相關推薦

magento 2 開發——框架結構

1.框架目錄結構 模組放在 app/code.前端主題放在 app/design/frontend.後臺主題放在 app/design/adminhtml.語言包放在 app/i18n. 注

python web開發flask框架學習(2) 加載模版

模版文件 簡書 nbsp 什麽 blog python 目錄 pan col 上次學習了flask的helloword項目的創建,這次來學習flask項目的模版加載: 第一步:創建一個flask項目 第二步:在項目目錄的templates文件夾下創建一個html文件

Android直播開發(12):初探FFmpeg開源框架

1. FFmpeg介紹與裁剪 1.1 FFmpeg簡介  FFmpeg(Fast forword mpeg,音視訊轉換器)是一個開源免費跨平臺的視訊和音訊流方案,它提供了錄製/音視訊編解碼、轉換以及流化音視訊的完整解決方案。ffmpeg4.0.2原始碼目錄結構如下: 目錄說明:

Linux下PHP開發-2.開發環境相關設定探索

一.預設目錄在哪兒? 開始時面對該xampp整合開發環境的相關配置有點不知所錯,於是便先想著找httpd.conf,通過該檔案,對該整合環境的配置檔案關係有了大致瞭解,具體操作如下; cd /opt/lampp/etc vi httpd.conf 預設ServerName

基於MVC4+EasyUI的Web開發框架形成--框架總體介面介紹

在前面介紹了一些關於最新基於MVC4+EasyUI的Web開發框架文章,雖然Web開發框架的相關技術文章會隨著技術的探討一直寫下去,不過這個系列的文章,到這裡做一個總結,展示一下整體基於MVC4+EasyUI的介面效果,讓大家對這款Web開發框架有一個形象的瞭解,介面設計以及相關思路可以借鑑提高,也可以對相關

Android直播開發(2):深度解析H.264編碼原理

 (碼字不易,轉載請申明出處:http://blog.csdn.net/andrexpert/article/details/71774230 ) 前 言     在學習H.264編碼之前,我們先了解一下在視訊直播的過程中,如果Camera採集的YUV影象不做任何處理

Magento 2開發教程 - 如何添加新產品屬性

資源 ati false bin 一個 magent rod options mod 添加產品屬性是一種在Magento 1 和 Magento 2最受歡迎的業務。 屬性是解決許多與產品相關的實際任務的有力方法。 這是一個相當廣泛的話題,但在這個視頻中,我們將討論添加一個下

Android開發3:android架構

通過 圖集 例如 sqlit 組件 mil 大小 簡化 .html 引言 通過前面兩篇: Android 開發之旅:環境搭建及HelloWorld Android 開發之旅:HelloWorld項目的目錄結構 我們對android有了個大

Android開發1:環境搭建及HelloWorld

lan 及其 其它 ply 新項目 bsp 驗證 for 對話框 ——工欲善其事必先利其器 引言 本系列適合0基礎的人員,因為我就是從0開始的,此系列記錄我步入Android開發的一些經驗分享,望與君共勉!作為Android隊伍中的一個新人的

iOS開發CFNetwork框架使用

iOS開發之CFNetwork框架使用 一、引言     在iOS應用開發中,CFNetwork框架其實並不是非常常用的,相對NSURLSession框架而言,這是一個相對底層的網路工作框架。官方文件中的下圖描述了CFNetwork在整個網路體系中的位置:

iOS開發AVKit框架使用

iOS開發之AVKit框架使用 一、引言     在iOS開發框架中,AVKit是一個非常上層,偏應用的框架,它是基於AVFoundation的一層檢視層封裝。其中相關檔案和類都十分簡單,本篇部落格主要整理和總結AVKit中相關類的使用方法。 二、A

iOS開發AddressBookUI框架詳解

iOS開發之AddressBookUI框架詳解 一、關於AddressBookUI框架     AddressbookUI是iOS開發框架中提供的一套通訊錄介面元件。其中封裝好了一套選擇聯絡人,檢視聯絡人的介面,在需要時開發者可以直接呼叫。當然對於聯絡人介面,

iOS開發AddressBook框架詳解

iOS開發之AddressBook框架詳解 一、寫在前面     首先,AddressBook框架是一個已經過時的框架,iOS9之後官方提供了Contacts框架來進行使用者通訊錄相關操作。儘管如此,AddressBook框架依然是一個非常優雅並且使用方便的通

unity遊戲開發ULua框架介紹(二)

1.SimpleFramework框架配置檔案 (1)AppConst 檔案    在AppConst.cs檔案中配置了很多專案開發過程中,需要使用到的“公共常量資訊”。指令碼內的常量都有中文備註。所在位置是:Scripts/ConstDefine/AppConst.cs

unity遊戲開發ULua框架介紹(一)

1.基礎介紹 ①ULua 整合開發環境叫做:SimpleFramework,SimpleFramework 分為NGUI 和UGUI兩個版本,區別是NGUI 版本的框架資源中含有NGUI 這個外掛。SimpleFramework 本身不是Unitypackage 格式,而是一個Unity3D的專

iOS開發Accounts框架詳解

iOS開發之Accounts框架詳解     Accounts框架是iOS原生提供的一套賬戶管理框架,其支援Facebook,新浪微博,騰訊微博,Twitter和領英賬戶管理的功能。需要注意,在iOS 11及以上系統中,將此功能已經刪除,因此Accounts.frame

iOS開發AssetsLibrary框架使用

iOS開發之AssetsLibrary框架使用 一、引言     AssetsLibrary框架是專門用來操作相簿相關資源的一個框架,其是iOS4到iOS9之間常使用的一個框架,在iOS9之後,系統系統了Photos框架代替了AssetsLibrary框架,但

iOS開發AdSupport框架使用

iOS開發之AdSupport框架使用     AdSupport從字面意思上理解是用來進行廣告支援,這個框架十分簡單,裡面只有一個類,類中只有一個方法和兩個屬性。     AdSupport的唯一用途是用來獲取裝置唯一的一個廣告識別符號。可以使

iOS開發BusinessChat框架使用

iOS開發之BusinessChat框架使用       BusinessChat是iOS11.3後引入的新框架,這個框架配合iMessage應用將商家與使用者更加緊密的結合起來,並且為商家提供了另外一種非常方便的客服系統。     &

Java——Web開發開源框架DBUtils的使用,JSP開發模式,三層架構與MVC設計模式的認識

DBUtils的使用: 在使用開源框架DBUtils時,它只是幫我們簡化了CRUD的程式碼,但是它不負責連線的建立以及獲取工作。 1.和使用開源框架都一樣的一個步驟,先匯入jar檔案 2.在這裡採用的是開源資料庫連線池C3P0進行連線 3.編寫CRUD程式碼 使用其功