Magento 2的體係結構旨在使源代碼盡可能全麵和適應性強。該策略的主要目標是使調整和適應項目需求變得容易。公司的每個邏輯和功能都被構建為模塊。每個模塊都可以作為一個獨立的實體發揮作用。
Magento 2中提供了ViewModel (MVVM)體係結構。這種MVVM體係結構在模型和可視化層之間提供了相當堅實的分離,因為模型視圖控製器是密切相關的(MVC)。
MVVC概述:
模型
與MVC一樣,數據管理和基本信息描述邏輯也是應用程序所必需的。它具有應用程序的業務邏輯,並依賴於相關的類—數據庫訪問資源模型。模型響應來自視點的請求。
視圖
視圖是屏幕上的圖形界麵。它能夠顯示用戶的請求-響應。視圖是以某種格式顯示數據的框架或布局。視圖表示“數據的外觀”。它訂閱ViewModel屬性值或命令的更改。
視圖模型
ViewModel與模型層連接,隻向視圖層提供基本信息。Magento 2模塊中的塊類處理了這個問題。重要的是要注意,這通常是MVC控製器角色的一部分。在MVVM中,控製器處理用戶的流,這樣請求被接受,係統可以顯示一個視圖或將客戶機重定向到另一個路徑。
根據官方文檔,Magento 2分為4層。
- 表示層
- 服務層
- 領域層
- 持久層
表示層
Magento 2體係結構的頂層是表示層。當我們與Magento的web界麵交互時,我們要處理表示的代碼層。
服務層
中間層和域層是服務層。它提供了表示層和域層與資源指定數據之間的連接。服務層執行使用PHP接口定義的服務契約。
領域層
對於業務邏輯,域層負責。它不包含特定於數據庫或資源的信息。域層定義通用Magento數據庫或業務邏輯模型。
持久層
它概述了用於在數據庫中收集和操作信息的CRUD(創建、讀取、更新和刪除)請求中負責的資源模型。
Magento 2 vs Magento 1
體係結構
- Magento 1支持PHP 5.2, Magento 2支持PHP的PHP 5.6版本。
- Magento 1使用HTML、CSS功能,Magento 2使用HTML5、CSS3以及作曲家。
支持
直到2020年6月,Magento團隊已經擴展了Magento 1。這意味著Magento將停止升級和分發最新的安全、修正和擴展。
另一方麵,Magento 2啟動了一些高級功能,如PWA集成、頁麵構建、易於管理和自動化。
搜索引擎優化與安全
目錄頁包含豐富的代碼片段,改進了serp中的搜索結果,因為密碼使用了增強的危險算法(SHA-256)。這加強了攻擊字典類型的密碼。
Magento 2.0推出了Scheme.org,以增強商店的SEO。