[英]Localization via database or flat file?
对于多语言PHP应用程序,假设标签/短语将被翻译成多种语言。 这些标签可以放在特定语言的文件中(例如,每种语言一个文件),也可以加载到数据库中,以便应用程序可以在需要时访问它们。
问题是,从绩效的角度来看,更好的方法是什么?
对我来说,如果标签在数据库中,则加载的数据较少(我只能请求单个页面所需的标签),并且可以更轻松地构建用于翻译的管理工具。 但是,似乎很多应用程序和框架都使用平面文件(例如phpMyAdmin,CakePHP等)
从文件加载数据比从数据库加载的方式更快。 您只需在数据和应用程序之间划分多层抽象。 如果您对应用程序的性能进行概要分析,您将看到数据库访问通常是最慢的操作之一。
如果您不想在每次显示内容时加载所有本地化字符串,则始终可以选择将它们放在不同的文件中。 例如,在任何地方显示字符串的“全局”文件,以及特定于您的页面/部分的本地化文件。
也就是说,就像有关表演的任何事情一样,不要相信我的话,但要自己弄清楚。 也许在您特定的环境中,通过您的特定应用程序,数据库可以正常运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.