我有一个翻译系统:
/phps/languages.php
$root = $_SERVER['DOCUMENT_ROOT'];
if($lang == "en-us"){
include_once("$root/site-languages/en-us.php"); // include en-us
}
此功能: /phps/date.php
function time_difference($date){
$root = $_SERVER['DOCUMENT_ROOT'];
include_once("$root/phps/languages.php");
echo $language_include_variable; // it is empty
还有我的page.php,它将调用date.php,而日期将调用language.php。
$root = $_SERVER['DOCUMENT_ROOT'];
include_once("$root/phps/date.php");
问题是echo $ language_include_variable为null。 有什么想法吗?
答案 0 :(得分:1)
这是由于include_once
造成的。该文件将仅一次包含在脚本的生存期中,因此只能在函数作用域中访问一次。
在该函数的后续调用中,将不再包含该文件,因此该变量将不再位于该函数的范围之内。