Symfony2是否在内存中加载所有翻译?



Symfony2将翻译存储在缓存中(例如app/cache/{dev|prod}/translations/catalogue.fr.php),无论使用什么提供程序。

缓存中的这个文件只是定义了一个数组,其中键是英语,值是其他语言。

这是否意味着这个数组将随着翻译字符串数量的增长而无限增长?如果我已经翻译了10,000个字符串,这是否意味着每个请求都将在内存中加载这10,000个数组?

是的,这就是PHP的工作原理。Symfony只会在"缓存"数组中查找段键,当然,该数组必须加载到内存中。

更详细地说,下面是ArrayLoader类,它负责从数组中加载翻译段。

最新更新