Fecshop 介绍
Fecshop 全称为 Fancy ECommerce Shop,是基于 PHP ?Yii2 框架开发的一款优秀的开源电商系统,遵循 BSD-3-Clause 协议,Fecshop 支持 多语言,多货币,架构上 支持 PC,手机 Web,手机 APP,和 ERP 对接等入口,您可以免费 快速 的定制和部署属于您的电商系统。
Fecshop 基于 Yii2 的高效框架,在此基础上进一步封装,加入了 service 层和 block 层, 数据库 采用了 No sql 和 MysqL 结合的方式,关系型表放到 MysqL 中,譬如优惠券、购物车、订单等,非关系型数据表(非关系型代表不会出现多表强事务类型操作) 放到 MongoDB?中,缓存用 Re dis , 搜索 目前用的是 MongoDB 的 FullTextSearch 功能 , 支持 一些主流语言的分词与 搜索 ,不过目前 中文 搜索 不支持 分词,后期会扩展 ElasticSearch 来进行 搜索 (ElasticSearch 有 中文 插件 ,安装后 支持 中文 分词)。
总之,Fecshop 目前的定位是为了让程序员们有 一个 方便学习,扩展,开发的电商框架系统。
Fecshop 作为一款可以持续性发展的商城系统,在框架层面有以下特性:
由于商城系统的复杂性,原始的框架 MVC 结构,显得有点力不从心,Fecshop 框架加入了 Block 层,Controller 层只负责调度,Model 层只负责 数据库 映射,中 间的 处理逻辑由 Block 来完成,View 层负责 显示 ,这样各司其职,以免造成 Controller 文件 过于庞大。
加入独立 功能 块,有点类似 Yii2 的 Widget,目的是为了让一些侧栏公用块可以通过配置的方式 添加 ,同时,还可以具有设置缓存的 功能 ,譬如侧栏的产品浏览记录,newsletter 等独立 显示 块可能在很多 页面 用到,通过独立 功能 块可以配置方便的载入。
在 Model 层的上层加入服务层 Services,这样,Controller,Block,View 层,在原则上不能直接 调用 Model,必须通过 Services 层以及子 Services 层,然后 Services 访问各个 Model,组织数据,事务处理等操作,将数据结果返回给上层,这种设计可以方便以后业务发展后,进而根据业务特点进行重构,或者以后如果出现新技术,新方式,都重构成自己想要的样子。譬如,将某个底层由 MysqL 换成 MongoDB,或者为了应付高并发读写并且多事务性的 功能 部分,进行分库分表的设计方式。
Fecshop 多模板系统,Fecshop 设置了多个模板路径,各个模板路径下的 文件 被加载的优先级不同,其中,Fecshop 的模板路径下的 文件 最全面,但是优先级最低,第三方模板路径优先级其次, 用户 本地模板路径优先级最高, 用户 可以通过复制相应路径下的 view 或者 js,css 文件 到本地模板路径,存在于高优先级模板路径的 文件 会被优先加载,这样 用户 可以通过多模板系统的原理进行模板的制作,同时,不影响 Fecshop 模板的 升级 ,如果 Fecshop view 文件 升级 后被 修改 ,那么 用户 可以比对本地模板 文件 与 升级 模板 文件 的 代码 的不同,复制更改的 代码 到本地模板路径即可。第三方的模板路径的优先级介于本地模板路径和 Fecshop 模板路径之间。
重写机制,Fecshop 的 功能 基本都可以被 用户 重写, 包括 servies 层,Modules, Controller,Block,Views,View Layout 以及 js,css,Img 等,都可以被 用户 重写,其中 js,Img,Views,View Layout 是通过多模板 路径优先级来实现的,其他的是通过 配置文件 的覆盖更改来实现重写,这样, 用户 就可以很方便重构 Fecshop 或者第三方的 功能 和模板。
升级 最小化干扰,Fecshop 的核心 文件 放到 vend or/fancyecommerce/fecshop 路径下面,和第三方扩展, 用户 二次开发路径完全隔离开,Fecshop 可以通过 composer 进行核心 功能 的 升级 , 用户 只需要通过 composer 升级 即可。
快速 高效,Fecshop Servises 遵循 Yii2 的懒加载方式,只初始化使用到的组件服务,缓存方面有整页缓存,block 部分缓存,动态数据 ajax 加载等方式。
Fecshop 多入口模式,分为 appadmin( 后台 ),appfront(PC前端),apphtml5(手机web),appserver(手机app服务),appapi(erp,或者其他接口对接),不同的业务,不同的设备,进入不同的入口,各个入口共用服务层 services,但是 modules 部分独立,这样相互干扰最小,可以相互独立开发。
后台 封装化,fec_admin 扩展可以 快速 的实现增删改查类型的表单列表,方便 用户 快速 的做增删改查。
鉴于以上特点,您可以下载安装 Fecshop,然后更改 Fecshop 的模板和 功能 ,扩展自己想要的 功能 ,或者安装第三方开发好了的扩展或者模板,来 快速 的组建起来您的网站。
网站地址 : http://www.fecmall.com/
网站描述: 开源电商系统
Fecshop官方网站
官方网站: http://www.fecmall.com/
如果觉得 网站内容还不错,欢迎将 网站 推荐给程序员好友。