我的框架中有一个语言文件,它基本上是一个数组
eng/language.php
<?php
return [
'HomeSearchtTitle'=>' search what you want ! ' ,
'wellcom'=>' Wellcom !' ,
'ResultSuccess'=>' here is the result ' ,
];
?>
我想让语言动态,这样用户就可以添加新的语言,也可以通过php直接更新这个language.php
文件
所以需要在language.php
viia file_get_contents中获取这个数组,并将字符串结果转换为实际的php数组,这样我就可以将其呈现给用户。。。。类似的东西
$language = eval(str_replace(['<?php' , '?>' , 'return' ] , '' , file_get_contents("$dir_path/language.php")));
这总是返回空
你知道我该怎么做吗?
来自PHP手册:
可以在包含的文件中执行return语句,以终止该文件中的处理并返回到调用该文件的脚本。此外,还可以从包含的文件返回值。可以像对待普通函数一样,获取include调用的值。
这意味着您可以简单地执行以下操作:
$languageArray = include "$dir_path/language.php";
要回写修改后的数组,请使用var_export
:
...
$languageArray['new_string'] = 'New String!';
file_put_contents("$dir_path/language.php", '<?php return ' . var_export($languageArray, true) . '; ?>');