[請益] 功能開關設計

作者: 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