3

我在 PHP 网站上的页面上运行说 globals 将在 5.4.0 中贬值。我知道 $MyFormPost 是 $_POST['MyFormPost'] 和 $_GET['MyFormPost'] 的全局变量,但我想知道我们网站的开发方式是否也被视为在 5.4.0 中折旧。

我们有一个类,其内容已发布在下面,我们可以通过我们的应用程序访问所有常见的类。因此,如果我们想访问用户的浏览器信息以查看他们在任何其他类或文件中使用的移动设备,我们只需调用 $gb->BrowserData->get_MobileDevice()。我们是否需要开始改变我们网站的构建方式?

$gb = new GlobalData;

global $BrowserData;
$BrowserData = new BrowserType();

if ($gb->BrowserData->get_MobileDevice()=='iPhone') {

}

全球数据类.php

<?php
class GlobalData {
        public function __get($name) {
            if (isset($GLOBALS[$name]))
                return $GLOBALS[$name];
        }
}
?>
4

1 回答 1

3

事实并非如此register_globals;你不必担心。自 PHP 4.2 起默认关闭,现在是时候删除它了。这是对register_globals实际操作的描述- 基本上将所有请求变量放入全局变量中。一个非常糟糕的主意。

尽管我仍然建议使用global $somevariable;将全局变量带入当前范围,而不是使用您正在使用的类。

于 2012-04-14T23:17:47.930 回答