我正在使用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