对于多语言PHP应用程序,假设标签/短语将被翻译成多种语言。这些标签可以放在特定语言的文件中(例如,每种语言一个文件),也可以加载到数据库中,以便应用程序在需要时可以访问它们。
问题是,从绩效的角度来看,更好的方法是什么?
对我看来,如果标签在数据库中,则加载的数据较少(我只能请求单个页面所需的标签),并且可以更轻松地构建用于翻译的管理工具。但是,似乎很多应用程序和框架都使用平面文件(例如phpMyAdmin,CakePHP等)
答案 0 :(得分:4)
从文件加载数据方式比从数据库加载更快。您只需在数据和应用程序之间划分多层抽象。如果您对应用程序的性能进行概要分析,您将看到数据库访问通常是最慢的操作之一。
如果您不想在每次显示内容时加载所有本地化字符串,则始终可以选择将它们放在不同的文件中。例如,到处显示字符串的“全局”文件,以及特定于您的页面/部分的本地化文件。
那就是说,就像有关表演的任何事情一样,不要相信我的话,而是自己来表达。也许在您特定的背景下,通过您的特定应用程序,数据库就可以了。
答案 1 :(得分:1)