PHP字符串文本文件..很好的实践



我一直在尝试为PHP创建一个字符串文字文件,所以我可以在一个文件中保存所有的字符串。

我想知道这样做是否是个好习惯:

class Literals
{
    const String1 = "Hello";
    const String2 = "World!";
    //... (up to 100+ literals)...
}

然后在代码的某个地方我可以这样称呼它:

$hello = Literals::String1;

这是好的做法吗?

这取决于你要对字符串做什么。如果你要把它们显示给用户,那么当然,这是一种简单的国际化方式,尽管如果你要做很多事情,你会想看一些更高级的东西。如果你只想将它们用于关联数组键,数据库列名或其他内部内容,那就不用了,只要保持内联即可

希望您没有真正将它们称为String1…StringN:)

如果对于本地化,我个人更喜欢这个(苹果使用的):

在代码中使用如下:

<h1><?php localize("Homepage","String for the homepage") ?></h1>

.

function localize($key,$help='') {
   //do a lookup of the key and if not found use the key itself
}

然后您可以使用解析器查找所有字符串并创建引用翻译:

$strings = array(
 /** String for the homepage */
 'Homepage' => 'Homepage'
);

这样做的好处是,主要语言版本将始终有效,并且可以在需要时添加其他翻译。它的缺点是需要一个解析器来查找所有字符串。

相关内容

最新更新