我正在使用LAMP網絡應用程序,它使用不同的度量單位管理大量數據。這個php應用程序使用一個自定義的MVC框架。我們現在有不同國家的客戶,我們希望爲客戶提供公制,英制或組合的選擇。如何在PHP Web應用程序中管理度量單位?
目前,所有數據都以國際單位保存在我們的MySQL數據庫中。一些表格有多列包含不同單位的數據。管理客戶(用戶)所選單元中所有數據的顯示的最佳DB架構是什麼?
是否有任何PHP類,PHP函數或Web服務可以幫助我們?
謝謝!
UPDATE:
如果我決定使用UnitConverter像Zend框架類,這將是確定的單位,我有我的數據庫中的每個數據的最佳方式是什麼?
- 新表「measurement_unit」包含每個數據類型,我在我的數據庫中有測量類型?
- 我應該在數據庫中添加一個新的「measurement_type」列嗎?
嚴格遵循MVC框架,您可能需要一個名爲measurement_units的新表,其中包含type_id和type_name。然後,您的user_pref(或user)表中將會有一個measurement_type列。在該列中,您將存儲用戶的type_ids。這樣你的所有數據都在數據庫中。但是,由於測量類型數量非常有限,而且您不可能經常更改它們,所以我只需在庫中定義測量類型(define('METER',1);)並存儲一個字符串(' METER')放在user_pref(或user)表的一個measurement_pref列中。 – clumsyfingers 2010-09-21 12:31:10
在上面的第一個更具可擴展性,而第二個更高效的速度。我還會注意到,如果您想將您的框架移動到另一個項目中,首先您需要將您的measurement_units表和您的庫一起移動,並且在移動時它可以獨立運行。哦,你也可以將你的定義保存在模型或配置文件中,這可能是最好的解決方案。如果將其保存在全局配置中,可能需要使用前綴命名空間。 – clumsyfingers 2010-09-21 12:39:17
感謝您的回答!爲我的應用程序中每個數據保存測量單位的最佳方法是在user_pref表的單個「measurement_type」列中保存測量單位的最佳方法是什麼?在我的應用程序中聲明每個數據的度量單位的最佳方式是什麼,而不會過度添加具有太多列的模式? – benjisail 2010-09-22 10:14:25