[请益] 功能开关设计

楼主: chan15 (ChaN)   2014-11-18 14:36:33
想请教一下各位会怎么规划自己的后台功能分开成为模组
在整包要给客户的情况下加入以及抽离,假设今天基本的固定功能如下
会员系统
商品系统
购物车系统
新闻系统
报表系统
FAQ
联络我们
前台就不用讲了,因为基本上都要套用美术的样板做手动的修订
因为要整包给别人,所以也不会是在 database 上选择开关以及判断
目前我想到的是将每个功能依照目录置放,并且每个资料夹都有自己的 config
登入后 menu 会去扫所有的目录抓出 config 后吐出对应连结
又或者是资料夹放入后直接写一个 xml 放在跟目录做连结
不管怎样都不是很 module 的感觉,想请益各位会怎么做
作者: LaPass (LaPass)   2014-11-18 14:57:00
去看看JOOMLA或是WORDPRESS XOOP之类的东西怎么做,基本上就是你说的那样还有,你是写出核心把模组外包给别人,或是把整个核心叫别人写?
作者: alog (A肉哥)   2014-11-18 15:07:00
改用一个比较好的Framework来做你的网站不想带framework 自己用python or ruby 写工具,自己gen资料不然你这样自干好像没有比较好
楼主: chan15 (ChaN)   2014-11-18 15:12:00
接案久了,后台内容都大同小异,不想在用复制修改想尝试抽离加入的方式弄新案子
作者: alog (A肉哥)   2014-11-18 15:16:00
那我想你应该花个时间学点别得framework或许会有点灵感毕竟我没你的source code 很难给你正确明确的建议有些知名的Framework玩一玩,可以学到不同的设计逻辑跟模式你可以考虑玩一下 Rails
楼主: chan15 (ChaN)   2014-11-18 15:28:00
我 CI 跟 Laravel 很熟啊 0.0但我应付的一些客户常常会有 server 上的限制
作者: alog (A肉哥)   2014-11-18 15:29:00
O.O你本文没写你用啥framework啊
楼主: chan15 (ChaN)   2014-11-18 15:29:00
所以还是会用自己的 code 来接一些小案子
作者: alog (A肉哥)   2014-11-18 15:30:00
而且我觉得有时候不要只接触自己领域的framework这是我自己的感触辣有很多方式可以让你启发出更多玩法
楼主: chan15 (ChaN)   2014-11-18 15:30:00
楼主: chan15 (ChaN)   2014-11-18 15:31:00
我客户都小客户,我也没机器,都是去租虚拟空间有时候东西没这么好谈有啊,我写过 ASP 跟 C# 一阵子,前阵子也有玩一下 Rails但我还是爱 PHP
作者: alog (A肉哥)   2014-11-18 15:32:00
XD
楼主: chan15 (ChaN)   2014-11-18 15:33:00
最近可能会试一下 pythonC# .NET 抱歉
作者: alog (A肉哥)   2014-11-18 15:34:00
C#我是走存应用程式开发,asp好久好久了我刚这样看我觉得你会有这种困扰 我蛮能理解的
楼主: chan15 (ChaN)   2014-11-18 15:34:00
对啊,是我程式的入门,你要我现在写也忘得差不多了吧 哈
作者: alog (A肉哥)   2014-11-18 15:38:00
如果不带framework,我是觉得可以把你的Controller跟设定档的部分先用资料夹隔开来然后像是第三方写的class跟你自己的class都归类另外的资料夹像后台接口的目录只要保留controller跟initialize档案剩下物件、设定都归类在其他资料夹你画面用到的view都另外独立一个资料夹总之先把你的资料夹跟php改用一个比较统一的归类方式然后整理好之后,再把你的模组功能分别拆出来例如一个基本的管理接口,我们命名个basic-panel新闻就叫news什么都好 把每个程式模组拆好 个别放在资料夹我讲的资料夹不是网站目录,而是一个专门放你程式码片段的资料夹位置然后你案子进来,拿到前端的网站稿子,就把basic-panel复制进网站的资料夹位置,至于sql schema汇入什么的,你就按照你最简便的方式处理然后这个网站有news有产品目录什么的,就把程式直接复制basic-panel资料夹,而网站前端用的controller你也可以顺便复制过去,主要概念是把你常用的程式让他可以独立出来然后把它归纳成一个个的程式码片段或档案,要用的时候再直接复制过去就好至于选单或设定档案,就按照你自己想的方式做应该是不会太过麻烦像一些常用的东西,如果不走全自动化这个方式也没有占用很多时间3小时全部接完或半天解决至于核心的物件运作、功能测试可以另外写脚本另外之前接触一间外包公司的作法他是整个全部模组牵进去,设定完后网站就OK了至于其他被disabled的功能,他就用程式自动砍掉而程式的资料夹配置跟上述差不多
楼主: chan15 (ChaN)   2014-11-18 16:07:00
研究一下,感谢热心回答
作者: alog (A肉哥)   2014-11-18 16:07:00
不会然后3小时的全部接完是指网站直接可以交案的状况**件
作者: noxhsu (通りすがりの食いしん坊)   2014-11-18 17:14:00
目前作法跟上面一样,所以有时要作品集都会脑袋一下转不过来;大专案签NDA不可能给你看,小专案你拿样张马上套给你基本上功能都是类似的修改,顶多ajax+node.js的差异所以看使用技术的习惯,个人习惯用数据库所以用DB管理
作者: InDer5566 (在这5566)   2014-11-20 20:41:00
不用一定要python吧 php js就可以做很多事情我觉得你这个... 应该用简单的mySQL+PHP就能全部完成framework不就是 把php物件导向 弄得很整齐好用那样吗codeigniter之类咚咚 不就在搞这种东西吗alog大大的方法不错 笔记 反正我觉得也许就是用最熟悉的语言 自己建一个自专属平台 花点时间整理罢了

Links booklink

Contact Us: admin [ a t ] ucptt.com