fec目录是干啥的

文档问题 · sumic · 于 6年前 发布 · 2215 次阅读

根据文档说的来看 fecshop 为核心包 fec_admin 为封装的admin后台 那还有个文件夹fec里面是什么东西,扩展包?

老大能不能讲一下三个文件夹的关系?用YII还是做了几个小项目了,扩展形式的二开确实还没接触过。

看了代码一周了,确实很复杂,不过架构思想确实也很棒,希望熟悉后能为开发贡献一些绵薄之力。

共收到 19 条回复
sumic#16年前 0 个赞

根据我的理解打比方来说fec目录就相当于yii2-app-advanced里面的common,里面放一些公用的helper,widgets,class appfront相当于yii2-app-advanced里面的frontend,功能都以modules的形式存在 appadmin相当于yii2-app-advanced里面的backend,功能都以调用插件的形式存在 不知道我这样理解对吗?

Fecmall#26年前 0 个赞

晚上详细回复你

Fecmall#46年前 0 个赞

这个有点历史渊源

之前刚学习Yii2,我想把常用的东西,进行封装,方便使用

然后,我把这堆代码整理成一个扩展, 然后就有了:https://github.com/fecshop/yii2-fec

然后,我想做一个基于菜单做权限控制的后台,然后就有了:https://github.com/fecshop/yii2_fec_admin

后来,Yii2比较熟悉了,我想做个开源商城,然后就有了:https://github.com/fecshop/yii2_fecshop

Fecshop的后台基于fec_admin,其他和fec_admin没有啥关系,fec_admin的一些一些功能使用到yii2-fec

因此,如果您想做个独立项目,后台部分可以使用fec_admin扩展的:yii2_fec_admin

Fecmall#56年前 0 个赞

现在我来一一回复你的话

1.根据我的理解打比方来说fec目录就相当于yii2-app-advanced里面的common,里面放一些公用的helper,widgets,class

答:不正确,common是一个公用层,而Yii2_fec:https://github.com/fecshop/yii2-fec ,有点像一个helper类包,帮助包,您可以在fecshop使用里面的封装的一些方法,当然,fecshop只在后台部分用了一点,其他的地方基本没有用fec这个库包的东西,因为之前封装的也不是很好,当时刚学yii2不久。

2.appfront相当于yii2-app-advanced里面的frontend,功能都以modules的形式存在 appadmin相当于yii2-app-advanced里面的backend,功能都以调用插件的形式存在 不知道我这样理解对吗?

答:

正确:appfront相当于yii2-app-advanced里面的frontend,功能都以modules的形式存在 appadmin相当于yii2-app-advanced里面的backend,

错误:功能都以调用插件的形式存在

这个只是一个入口,除了appfront ,appadmin,还有apphtml5, appserver,appapi, 你可以理解成相当于,但是,这些的原理都是一样的,你可以为了自己的需要加更多的入口。

Fecmall#66年前 0 个赞

OK,晚上12点多了,睡觉,您自己看吧。

sumic#76年前 0 个赞

@Fecshop #4楼 非常感谢老大回帖。 大致上已经清楚了逻辑结构。你这几年的干货够我消化了好多天,这几天每天都在看。 可能由于代码形成的顺序有关。做fec_admin的时候没有使用service吧?你觉得有米有必要统一一下,把fec_admin的部分也用service调用的形式来完成?这样我觉得也更好的体现的设计思想的一致性,也更好的对后台的二次开发提供便利。

Terry#86年前 0 个赞

@sumic [[[[#7楼](#comment7)](#comment7)](#comment7)](#comment7)

1.在提问这些问题的时候,你有没有自己尝试去代码里面看看,验证自己的想法?看完后,带上自己的论据,而不是在这里空头空说?

2.fec_admin是一个yii2和dwz封装的后台通用系统,fecshop的后台基于fec_admin实现,但是代码的逻辑不是在fec_admin包里。

3.后台代码的逻辑是在:https://github.com/fecshop/yii2_fecshop/tree/master/app/appadmin ,给你前面发的文档地址里面都有介绍,为什么不仔细看完,凭自己的空想讨论这个?

4.至于后台代码里面有没有使用到service?你可以去看源码

sumic#106年前 0 个赞

@Terry #8楼 你是没有理解我的意思,我肯定是看了代码才来提问的。

>fecshop的后台基于fec_admin实现,但是代码的逻辑不是在fec_admin包里。

我的意思是fec_admin没有使用service,比如菜单管理、账户管理、权限管理这些基础功能。 appadmin对于电商部分的功能使用了service这个我看到了,但是基础功能是调用的通用后台。 做为一个产品我是想把fec_admin的基础部分也用service调用的形式来完成,这样我觉得也更好的体现的设计思想的一致性,也更好的对后台的二次开发提供便利。

Terry#116年前 0 个赞

@sumic [[#10楼](#comment10)](#comment10)

1.fec_admin是一个通用后台,是一个独立的composer库包,是独立的,里面的权限管理,用户管理是通用的,和fecshop没有任何关系。

2.fecshop依赖于fec_admin,就像fec_admin依赖Yii2,依赖只能单向依赖,不能双向。

3.你的建议目前不会采纳。

Terry#126年前 0 个赞

@sumic #10楼 对于fec_admin的基础功能,譬如权限,后台用户管理这些,你可以进行重写, 就像fecshop的appadmin部分,重写的fec_admin库包的缓存管理部分:

https://github.com/fecshop/yii2_fecshop/blob/master/app/appadmin/modules/Fecadmin/controllers/CacheController.php

如果fec_admin的部分满足要求,我也不需要重写,我直接用就行了

Terry#136年前 0 个赞

如果你在二开的过程中,对fec_admin库包的东西进行重写,那么你可以遵循fecshop的重写机制进行功能的重写。

对于fecshop,全部重写fec_admin的功能都是可以的,在架构上支持。

Terry#156年前 0 个赞

最后:对于您的建议:

做为一个产品我是想把fec_admin的基础部分也用service调用的形式来完成,这样我觉得也更好的体现的设计思想的一致性,也更好的对后台的二次开发提供便利

回复:这个即使要把fec_admin也用service调用的形式来完成,也是不能直接去改fec_admin库包,只能在fecshop appadmin中全部重写fec_admin库包的功能,因为,有一些用户 仅仅使用了fec_admin库包做其他的系统,并没有使用fecshop。

Fecmall#166年前 0 个赞

有时候,回帖会先入为主,不仔细看代码和文档的人太多,您应该是仔细看代码了,多谢您的建议,后面想一下这个。

sumic#176年前 0 个赞

@Terry #15楼 是的,我的意思就是重写,这样产品更加完整和一致。完全脱离fec_admin,把产品独立出来。说实话,fec_admin功能上没啥说的,界面真的丑:)。虽然后台是自己家用的,但是谁也不会排斥精美的UI。最近比较忙,我会抽时间来重新这部分,到时候分享出来。

Fecmall#186年前 0 个赞

@sumic [#17楼](#comment17) 说和做是两码事,很多这样说的,最后都黄了,一句话现在比较忙了事。

拿后台界面说事的一堆人,我听得都起茧子了,,你是其中的一个,把你的东西拿出来之后,再来说这些,否则都是些没有用处的空话。

Fecmall#196年前 1 个赞

如果你真要做,建议你直接用vue来做独立的后台,做前后端分离,独立扩展开来,当然,这个是不小的工作量。

因此,你应该是完不成的,不是小看,毅力是个好东西,但很多人欠缺。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics