在许多页面上继承变量的问题

时间:2013-12-23 12:30:42

标签: php

我在bootconfig.php上有这个代码,它载在我的所有页面中。

// What languages do we support
$available_langs = array('en','it');

// Set our default language session
$_SESSION['lang'] = 'en';   

if(isset($_GET['lang']) && $_GET['lang'] != ''){ 
// check if the language is one we support
if(in_array($_GET['lang'], $available_langs))
{       
  $_SESSION['lang'] = $_GET['lang']; // Set session
}
}
// Include active language
      include($_SESSION['path'].'languages/'.$_SESSION['lang'].'/lang.'.$_SESSION['lang'].'.php');




//Include LIB
include($_SESSION['path']."lib/auth.class.php");
include($_SESSION['path']."lib/register.class.php");
include($_SESSION['path']."lib/string.class.php");


//Include Other Config File
require_once('./config/stringsecure.php');
require_once("./config/menuconfig.php");
require_once("./config/headerconfig.php");
require_once("./config/contentconfig.php");
require_once("./config/forumconfig.php");
require_once("./config/titleconfig.php");
require_once("./include/vocaboli/vocaboliconf.php");

在文件lang.en.php中我有例如$ lang ['contactme']但是如果我在menuconfig.php中使用它它不存在... 如果我在bootconfig结束时使用echo $ lang ['contactme']它可以工作但是在menuconfig中没有。为什么呢?

2 个答案:

答案 0 :(得分:0)

现在, menuconfig 会出现在 bootconfig 中,但不是相反。

我认为包含是倒退的:如果您希望{strong 1>}出现在 menuconfig 中,则需要在该文件中使用$lang

答案 1 :(得分:0)

可能这是一个简单的范围界定问题。可能在其中一个案例中你是一个函数。 在函数内部,您无法访问全局变量。

可能$GLOBALS['lang']['contactme']可行。

请参阅此处的详细信息:

http://www.php.net/manual/en/language.variables.scope.php