-1

再会。

当我在包含在一个文件中的某些文件中使用 globals 元素时,我遇到了问题。

结构化我的文件,你可以看到:

文件:

-index.php
--function.php
--globals.php
--lang.php
--allfunction.php

对您可以看到的所有页面进行编码:

代码 index.php:

<?
session_start();
require_once("./function.php");

select();

?>

代码函数.php:

<?php
require_once("./globals.php");
require_once(dirname(__FILE__)."/lang.php");
include_once Language(3);
require_once(dirname(__FILE__)."/allfunction.php");
?>

代码 globals.php:

<?
$dirang = './';
$langfile = 'lang.php';
$test = 'hello';
}
?>

代码 lang.php:

<?  
Language($rem){
return $GLOBALS["langfile"]; //ex.
}
?>

代码 allfunction.php:

<?  
echo $GLOBALS["test"]; //ex.
}
?>

我在使用时遇到$GLOBALS["test"]问题allfunction.php

我收到错误Undefened index test in allfunction.php on line ....

请告诉我为什么我会出错以及如何正确使用全局元素allfunction.php

4

2 回答 2

0

不要使用全局变量。将变量存储在静态ConfigRegistry类中。还可以阅读有关单例设计模式的信息。

例子:

config.php

<?php
class Config
{
    static $var1 = '...';
    static $var2 = '...';

    public static function init()
    {
        self::$var2 = 1+1; //expressions go here
    }
}
Config::init();

usage.php

<?php
require_once 'config.php';
function x()
{
    $someKindOfSetting = Config::$var1;
}
于 2013-10-11T05:42:12.193 回答
0

例如,您应该在使用它们的文件中编写全局变量。如果您使用allfunction.php全局变量,则必须在此文件中写入全局变量(在其中使用它们)不要使用带有全局变量的单独文件。

于 2013-10-11T05:37:54.147 回答