Fecshop 架構(gòu)特點(diǎn)

2018-05-24 14:09 更新

關(guān)于 Fecshop 的框架特點(diǎn)

Fecshop 全稱為Fancy ECommerce Shop,是一款優(yōu)秀的開源電商系統(tǒng),遵循OSL3.0協(xié)議, 目的是為了方便yii2用戶快速的 開發(fā)商城,F(xiàn)ecshop作為一款可以持續(xù)性發(fā)展的商城系統(tǒng), 在框架層面有以下特性:

  1. 由于商城系統(tǒng)的復(fù)雜性,原始的框架MVC結(jié)構(gòu),顯的有點(diǎn)力不從心,F(xiàn)ecshop框架 加入了Block層, Controller層只負(fù)責(zé)調(diào)度, Model只負(fù)責(zé)數(shù)據(jù)庫映射,中間的處理邏輯由block來完成,View層 負(fù)責(zé)顯示,這樣各司其職, 以免造成controller文件過于龐大。

  1. 加入獨(dú)立功能塊,有點(diǎn)類似Yii2的Widget,目的是為了讓一些側(cè)欄公用塊 可以通過配置的方式 添加,同時,還可以具有設(shè)置緩存的功能,譬如側(cè)欄的產(chǎn)品瀏覽記錄, newsletter等獨(dú)立顯示塊可能在很多 頁面用到,通過獨(dú)立功能塊可以配置方便的載入。

  1. 在Model層的上層加入服務(wù)層Services,這樣,Controller,Block,View 層,在原則上 不能直接調(diào)用model,必須通過Services層以及子Services層,然后Services訪問各個 model,組織數(shù)據(jù),事務(wù)處理等操作,將數(shù)據(jù)結(jié)果返回給上層,這種設(shè)計(jì)可以方便以后業(yè)務(wù) 發(fā)展后,進(jìn)而根據(jù)業(yè)務(wù)特點(diǎn)進(jìn)行重構(gòu),或者以后如果出現(xiàn)新技術(shù),新方式, 都重構(gòu)成自己想要的樣子,譬如, 將某個底層由mysql換成mongodb,或者為了應(yīng)付高并發(fā)讀寫并且多事務(wù)性的功能部分, 進(jìn)行分庫分表的設(shè)計(jì)方式。

  1. Fecshop 多模板系統(tǒng),F(xiàn)ecshop設(shè)置了多個模板路徑,各個模板路徑下的文件被加載 的優(yōu)先級不同,其中,F(xiàn)ecshop的模板路徑下的文件最全面,但是優(yōu)先級最低, ,第三方模板路徑優(yōu)先級其次,用戶本地模板路徑優(yōu)先級最高, 用戶可以通過 復(fù)制相應(yīng)路徑下的view或者js,css文件到本地模板路徑,存在于高優(yōu)先級 模板路徑的文件會被優(yōu)先加載,這樣用戶可以通過多模板系統(tǒng)的原理進(jìn)行模板的 制作,同時,不影響Fecshop模板的升級,如果Fecshop view文件升級后被修改, 那么用戶可以比對本地模板文件與升級模板文件的代碼的不同, 復(fù)制更改的代碼到本地模板路徑 即可。第三方的模板路徑的優(yōu)先級介于本地模板路徑和Fecshop 模板路徑之間。

  1. 重寫機(jī)制,F(xiàn)ecshop的功能基本都可以被用戶重寫,包括servies層,Modules, Controller,Block,Views,View Layout, 以及Js Css Img等,都可以被用戶重寫,其中 Js,Css,Img,Views,View Layout 是通過多模板 路徑優(yōu)先級來實(shí)現(xiàn)的,其他的是通過配置文件的覆蓋更改來實(shí)現(xiàn)重寫,這樣,用戶 就可以很方便重構(gòu)Fecshop或者第三方的功能和模板。

  1. 升級最小化干擾,F(xiàn)ecshop的核心文件是放到vendor/fancyecommerce/fecshop 路徑下面,和第三方擴(kuò)展,用戶二次開發(fā)路徑完全隔離開, Fecshop可以通過composer進(jìn)行核心功能的升級,用戶只需要通過composer升級 即可。

  1. 快速高效,Fecshop Servises遵循Yii2的懶加載方式,只初始化使用到的組件服務(wù), 緩存方面有整頁緩存,block部分緩存,動態(tài)數(shù)據(jù)ajax加載等方式,讓您的網(wǎng)站快速響應(yīng)。

  1. Fecshop 多入口模式,分為 appadmin(后臺), appfront(PC前端),apphtml5(手機(jī)web), appserver(手機(jī)app服務(wù)),appapi(erp,或者其他接口對接), 不同的業(yè)務(wù),不同的設(shè)備,進(jìn)入不同的入口,各個入口共用服務(wù)層services, 但是modules部分獨(dú)立,這樣相互干擾最小,可以相互獨(dú)立開發(fā)。

  1. 后臺封裝化,fec_admin擴(kuò)展可以快速的實(shí)現(xiàn)增刪改查類型的表單列表, 方便用戶快速的做增刪改查。

鑒于以上特點(diǎn),您可以下載安裝fecshop,然后更改fecshop的模板和功能,擴(kuò)展自己想要 的功能,或者安裝第三方開發(fā)好了的擴(kuò)展或者模板,來快速的組建起來您的網(wǎng)站。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號