【发布时间】:2014-07-12 02:29:59
【问题描述】:
我有超过 30 种语言的多语言 PHP 系统。每个定义都是用define()进行的:
define('LN_loader_alt', 'Loading...');
并且有超过 400 个定义。
我做了一点比较,创建了包含 400 多个常量的抽象类 Lang,这些常量当然不是 define(),例如:
abstract class Lang{
const LN_loader_alt = 'Loading';
...
}
接下来我需要这两个文件并从类 Lang 中调用 1 个定义和 1 个常量。接下来我用 webgrind 进行了分析,结果让我感到惊讶:
1) 需要 400 个 define() 的文件占用了执行脚本的 70% 以上时间 2) 使用带常量的抽象类比define()快很多
我想和你分享这个分析并问你:将我的系统从“define()”多语言重写为“具有常量的抽象类”多语言是最优和明智的吗?或者它有什么缺点?
【问题讨论】:
标签: php multilingual