3

我有一些我想在 PHP 脚本中执行的代码,但我不希望在此脚本中创建的变量在其他地方可见。

我想做的就像我们可以使用 JavaScript 一样:

(function() {
    // Do some stuff
})();

但我想用 PHP 来做这件事。

我想象过以下代码:

$main = function()
{
    global $main;
    unset($main);

    // Do some stuff
}

$main();

但它在 PHP 5.3 之前不受支持,我需要它。

PHP 5.2 还有另一种方法吗?

提前致谢 :)

4

2 回答 2

0

您可以使用create_function()但我认为这很难看。

(我对您的代码示例以及您的真实代码有一个更大的问题:您正在使用非常糟糕的全局状态。)

于 2012-11-01T17:45:02.650 回答
0
call_user_func(
    // create_function('$param1, $param2', '
    function($param1, $param2) { 
        // do stuff
    }
    // ')
, "param1", "param2");

使用为 php < 5.3 注释掉的行

但我想很多人会同意这是一件很奇怪的事情。

于 2012-11-01T18:39:30.213 回答