如果需要重新開發(fā)一個(gè)后臺(tái),并不是復(fù)制粘貼一份代碼這么簡(jiǎn)單,后臺(tái)前后端的程序代碼都需要重構(gòu),前端頁(yè)面也需要重新去填充數(shù)據(jù),實(shí)現(xiàn)思路簡(jiǎn)單,但是如果只有思路就能辦成事的話,那所有事情都簡(jiǎn)單很多了,要做好這些功能,確保沒有使用bug,需要時(shí)間去重構(gòu),去測(cè)試
拿這個(gè)功能來(lái)說(shuō),這個(gè)功能肯定是要分中英文來(lái)上傳資料的吧,如果做成一個(gè)后臺(tái),那要么就是在一個(gè)頁(yè)面上,分別上傳兩版資料,要么就是分開兩個(gè)功能頁(yè)面去上傳資料,使用兩個(gè)功能頁(yè)面上傳資料,那就需要多增加一個(gè)控制器,一個(gè)模型,至少三個(gè)頁(yè)面文件,后臺(tái)的標(biāo)簽和內(nèi)容頁(yè)就會(huì)多很多出來(lái)。如果是在一個(gè)頁(yè)面上上傳兩版資料,那么后臺(tái)頁(yè)面上就需要增加雙份的欄目標(biāo)簽,數(shù)據(jù)提交到后端程序后
(這里僅是一份數(shù)據(jù)的字段),
還需要去判斷提交過來(lái)的資料是中文還是英文,然后再去保存到數(shù)據(jù)庫(kù)里面,數(shù)據(jù)庫(kù)那邊的處理,同樣是要有兩份,需要分成兩個(gè)表,
而按照你們的要求,發(fā)布文章時(shí)需要同步發(fā)布到兩個(gè)語(yǔ)言版本上,那就是一個(gè)頁(yè)面添加資料,然后同步到兩個(gè)版本上,那么后臺(tái)處理添加操作時(shí),就需要執(zhí)行添加的代碼兩次,然后修改的時(shí)候就會(huì)出現(xiàn)一個(gè)問題,那就是如果需要分別修改,那么添加數(shù)據(jù)的時(shí)候就需要生成兩條數(shù)據(jù),才能做到分別修改,如果是只生成一條數(shù)據(jù),那么修改的時(shí)候就只能同步修改,這樣一來(lái),這里的邏輯又和其他功能的邏輯要有所區(qū)分了,前臺(tái)處理的時(shí)候也需要針對(duì)這種情況做不一樣的邏輯調(diào)整。
前端處理的時(shí)候,如果是要用tp自帶的語(yǔ)言切換,首先,之前做好的前端基本上是需要重新做的,因?yàn)樵瓉?lái)是直接把文字資料填寫在標(biāo)簽內(nèi),換成語(yǔ)言切換后,就變成了{(lán)$Think.lang.XXX}這種格式填寫在標(biāo)簽內(nèi)
,所以頁(yè)面上原本固定的文字內(nèi)容都需要改成這樣的模式,然后怎么才能用{$Think.lang.XXX}把內(nèi)容輸出出來(lái)呢,那就需要手動(dòng)去編輯語(yǔ)言包php文件了,
想這樣。
以上僅是重構(gòu)一個(gè)功能的實(shí)現(xiàn)思路,真正實(shí)現(xiàn)起來(lái)也許還會(huì)有各種bug需要處理
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://m.oulysa.com/news/6312.html