各位大大好
小弟有個問題很好奇想問問大家
就是在撰寫後端的時候
常會遇到一個欄位用英文名稱記 但要顯示中文給使用者看
像是下拉選單,table表格標頭
以往我是直接在DB中開一個table,當作欄位對照表,把每個代號和中文都當作data寫進去
要顯示的時候就去搜這個table
但現在小弟有個想法
就是寫成json檔案
類似這樣
{
"name": "姓名",
"amt": "收入",
"sign_status": {
"Y": "已審核",
"N": "未審核"
}
}
這樣的好處就是
而缺點目前想到就是會讀到用不到的資料
可能會有空間的浪費
想請問各位大大們
這方法是可行的嗎?
還是會依據專案大小來決定呢?
你上面有說到使用 Laravel
其實 Laravel 的ORM(MODEL)裏面,可以幫忙你處理這件事。
就算不這樣用,單純用別稱的處理方式(AS)。也可以幫你處理成輸出中文欄位。
只是認真來說,一般還是由VIEW來處理這件事會比較好。
畢竟實體的欄位還是英文,轉換為中文欄位名,多少還是需要處理轉換的應用處理。
容易增加工作量。
大多數人只是不想增加工作量,但要做到這件事本身並不是很難。
感謝大大回覆
使用Laravel在地化的確會擺在VIEW進行處理
好像我看過別人還有一種作法
是開facade去存放
不過我對此作法不是很了解
因為目前做的專案比較小 不用框架
純粹使用PHP
所以我才在考慮要不要參考使用這種方式來做
也想知道這種方式的可行性和優缺點
聽大大的講法 這種方法還是不錯的 只是比較費工?
因為你的做法,我早期也做過類似的。
不瞞你說,我曾經自創用JSON做的偽DB。
其中一個JSON就是用來存DB的結構。在裏面有存放KEY對應的中文字。
當時是用來在GRID上顯示用的。
大約還記得的是有一個是 table.json
節構是
{
"dbName":{
"dbStr":"表的名稱",
"jsonFile":"對應的檔案名",
"keyItme":{
"itmeName1":{
"itemName":"欄位中文名",
"dataType":"int"
}
}
} ,
}
然後資料是另外的JSON。
這當時是為了用在無後端語言的簡易DB處理方式。
為此還寫了一個很像下SQL碼的JS應用。
在還沒碰過框架之前,也為應用在PHP上。
不過這只能適合小型的就是了。
當時為了實驗。我試過塞1W筆左右的資料做搜尋。
就會有點問題了。
感謝大大提供實作經驗
我大概明白拿捏的尺度了