开源电商系统 Fecshop

开源电商系统 Fecshop

BSD
PHP JavaScript 查看源码»
跨平台
2017-05-22
红薯

Fecshop 全称为 Fancy ECommerce Shop,是基于 PHP Yii2 框架开发的一款优秀的开源电商系统,遵循 BSD-3-Clause 协议,Fecshop 支持多语言,多货币,架构上支持 PC,手机 Web,手机 APP,和 ERP 对接等入口,您可以免费快速的定制和部署属于您的电商系统。

Fecshop 基于 Yii2 的高效框架,在此基础上进一步封装,加入了 service 层和 block 层,数据库采用了 NoSQL 和 MySQL 结合的方式,关系型表放到 MySQL 中,譬如优惠券、购物车、订单等,非关系型数据表(非关系型代表不会出现多表强事务类型操作) 放到 MongoDB 中,缓存用 Redis,搜索目前用的是 MongoDB 的 FullTextSearch 功能,支持一些主流语言的分词与搜索,不过目前中文搜索不支持分词,后期会扩展 ElasticSearch 来进行搜索(ElasticSearch 有中文插件,安装后支持中文分词)。

总之,Fecshop 目前的定位是为了让程序员们有一个方便学习,扩展,开发的电商框架系统。

在线演示:https://fecshop.appfront.fancyecommerce.com/

Fecshop 作为一款可以持续性发展的商城系统,在框架层面有以下特性:

  1. 由于商城系统的复杂性,原始的框架 MVC 结构,显得有点力不从心,Fecshop 框架加入了 Block 层,Controller 层只负责调度,Model 层只负责数据库映射,中间的处理逻辑由 Block 来完成,View 层负责显示,这样各司其职,以免造成 Controller 文件过于庞大。

  2. 加入独立功能块,有点类似 Yii2 的 Widget,目的是为了让一些侧栏公用块可以通过配置的方式 添加,同时,还可以具有设置缓存的功能,譬如侧栏的产品浏览记录,newsletter 等独立显示块可能在很多页面用到,通过独立功能块可以配置方便的载入。

  3. 在 Model 层的上层加入服务层 Services,这样,Controller,Block,View 层,在原则上不能直接调用 Model,必须通过 Services 层以及子 Services 层,然后 Services 访问各个 Model,组织数据,事务处理等操作,将数据结果返回给上层,这种设计可以方便以后业务发展后,进而根据业务特点进行重构,或者以后如果出现新技术,新方式,都重构成自己想要的样子。譬如,将某个底层由 MySQL 换成 MongoDB,或者为了应付高并发读写并且多事务性的功能部分,进行分库分表的设计方式。

  4. Fecshop 多模板系统,Fecshop 设置了多个模板路径,各个模板路径下的文件被加载的优先级不同,其中,Fecshop 的模板路径下的文件最全面,但是优先级最低,第三方模板路径优先级其次,用户本地模板路径优先级最高,用户可以通过复制相应路径下的 view 或者 js, css 文件到本地模板路径,存在于高优先级模板路径的文件会被优先加载,这样用户可以通过多模板系统的原理进行模板的制作,同时,不影响 Fecshop 模板的升级,如果 Fecshop view 文件升级后被修改,那么用户可以比对本地模板文件与升级模板文件的代码的不同,复制更改的代码到本地模板路径即可。第三方的模板路径的优先级介于本地模板路径和 Fecshop 模板路径之间。

  5. 重写机制,Fecshop 的功能基本都可以被用户重写,包括 servies 层,Modules, Controller,Block,Views,View Layout 以及 JS, CSS, Img 等,都可以被用户重写,其中 js, CSS, Img,Views,View Layout 是通过多模板 路径优先级来实现的,其他的是通过配置文件的覆盖更改来实现重写,这样,用户就可以很方便重构 Fecshop 或者第三方的功能和模板。

  6. 升级最小化干扰,Fecshop 的核心文件放到 vendor/fancyecommerce/fecshop 路径下面,和第三方扩展,用户二次开发路径完全隔离开,Fecshop 可以通过 composer 进行核心功能的升级,用户只需要通过 composer 升级即可。

  7. 快速高效,Fecshop Servises 遵循 Yii2 的懒加载方式,只初始化使用到的组件服务,缓存方面有整页缓存,block 部分缓存,动态数据 ajax 加载等方式。

  8. Fecshop 多入口模式,分为 appadmin(后台),appfront(PC前端),apphtml5(手机web),appserver(手机app服务),appapi(erp,或者其他接口对接),不同的业务,不同的设备,进入不同的入口,各个入口共用服务层 services,但是 modules 部分独立,这样相互干扰最小,可以相互独立开发。

  9. 后台封装化,fec_admin 扩展可以快速的实现增删改查类型的表单列表,方便用户快速的做增删改查。

鉴于以上特点,您可以下载安装 Fecshop,然后更改 Fecshop 的模板和功能,扩展自己想要的功能,或者安装第三方开发好了的扩展或者模板,来快速的组建起来您的网站。

加载中

评论(23)

第十九层空间
第十九层空间
支持勇哥
fancyWater
fancyWater
真正开源产品,良心大作啊
相信你自己
相信你自己
界面好丑
T
Tsk47
很不错的项目,支持多入口,居然还支持VUE入口,大赞~~
FecShop
FecShop 软件作者
1.遵循开源BSD协议,可以免费用于商业。 2.官网 http://www.fecshop.com 发帖,这里的评论不做回复。 3.Github地址:https://github.com/fecshop/yii2_fecshop Github Star已经破千,详细参看github地址
钢镚儿
钢镚儿
安装复杂,放弃
小奋斗
小奋斗
牛逼。
简单代码
简单代码
能支持手机浏览器吗?能管理微信公众号吗?要是有这个功能就太帅了
tangqz
tangqz
支持,坚持!
也无涯
也无涯
做电商软件也有些年了,虽然都是私人接活,但是从没有哥这样的勇气停下来认真做一款产品,还是免费给大家的。支持你。希望自己也能其中出力

暂无资讯

暂无问答

最全yii2 文档资料整理

Sites 网站 yiifeed:Yii 最新动态都在这里 yiigist:Yii 专用的 Packages my-yii:Yii 学习资料和新闻 YiiPowered:用 Yii 开发的项目案例,包括开源不开源的,包括 Yii1 和 Yii2,到目前为...

05/02 09:33
57
0
【推荐】[网址]PHP各种开源网站系统、cms系统一览[持续更新]

开源的网站系统很多,今天小编统计整理一下现在流行的各种开源系统、cms推荐,分享给大家参考使用,如果大家有好的资源分享,也请在本文留言评论! 1.cms系统 1)知名cms dedecms: http://w...

11/13 13:50
55
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部