PHP字符串文字文件......好的做法?

时间:2011-05-01 22:55:26

标签: php string

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

我想知道做以下事情是否是一种好习惯:

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

然后在我的代码中的某处我可以这样称呼它:

$hello = Literals::String1;

这是好习惯吗?

2 个答案:

答案 0 :(得分:3)

这取决于你要对字符串做什么。如果你要向用户展示它们,那么肯定的是,这是一种做国际化的简单方法,尽管如果你要做很多事情,你会想要看一些更高级的东西。如果您只是将它们用于关联数组键,数据库列名或其他内部事物,那么不,只需将它们保持内联。

答案 1 :(得分:1)

希望你没有真正称它们为String1 ... StringN:)

如果对于本地化我个人会更喜欢这个(Apple使用):

在代码中使用类似:

<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'
);

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