使用PHP编辑.PHP文件

时间:2011-08-19 12:28:28

标签: php

我有示例语言文件en.php

<?php

$language = array(
    "language_code" => "en",
    "language_name" => "English",


);

这些语言文件替换模板文件中的某些内容以支持多语言。

有没有办法使用PHP将内容添加到数组中? 所以我在设置中做了一些事情,例如添加一个新的语言值,PHP将其添加到文件en.php并保存。

我想知道这是否可行,因为我猜它可能会非常复杂。如果可能的话,可以提出这样的建议。我没有太多编辑php文件的经验。

如果它会更好,我可以将语言格式更改为XML,如果这样可以更容易。

由于

2 个答案:

答案 0 :(得分:5)

使用JSON而不是将数据存储在PHP代码(或XML)中。使用以下命令加载数据:

$json = file_get_contents('en.json');
if ($json === false) throw new Exception('Cannot read file!');
$language = json_decode($json, true); // true tells json_decode to export as array ;)

并将其存储为:

$json = json_encode($language);
if (file_put_contents('en.json', $json) === false) {
  throw new Exception('Can not store language');
}

如果您真的坚持将数据存储为php程序,请使用var_export函数:

$phpCode = "<?php\n\n" . '$language = ' . var_export($language, true) . ';';
if (file_put_contents('en.php', $phpCode) === false) {
    throw new Exception('Can not store language');
}

没有必要使用XML,因为它比JSON更慢,更复杂。此外,您通常不应将翻译存储在(关系)数据库中,因为往返时间和重复查询解析和评估可能会降低您的应用程序的速度。

答案 1 :(得分:0)

为什么不介绍一个存储可能语言的xml文件(或数据库)并使用它而不是您描述的数组?