背景:我有一个具有静态函数的现有类,我想将其重用于同一项目的另一部分。静态函数使用$_GET
等。
这是令人费解的代码。首先,类:
<?php
// ./fakeapi/fakeapi.php
class FakeAPI {
static public function test (){
$var = '_GET';
${$var}['newVar'] = '123';
print_r($_GET);
}
}
以及需要它的文件:
<?php
require_once 'fakeapi/fakeapi.php';
FakeAPI::test();
$var = '_GET';
${$var}['newVar'] = '123';
print_r($_GET);
印刷:
Array
(
)
Array
(
[newVar] => 123
)
...我不知道为什么。这不是范围问题,因为如果我$_GET['newVar'] = '123';
在类函数中设置,它就可以工作。有谁知道这里发生了什么?