任何人都可以告诉我原因:
class foo {
function __construct() {
foreach($_GET as $get_var => $val) {
$this->$get_var = $val;
}
foreach($_POST as $post_var => $val) {
$this->$post_var = $val;
}
$this->test = "test";
}
}
生成并清空对象,即
object(foo)#1 (0) {
}
尚未:
class foo {
public $post;
public $get;
function __construct() {
foreach($_GET as $get_var => $val) {
$this->get->$get_var = $val;
}
foreach($_POST as $post_var => $val) {
$this->post->$post_var = $val;
}
}
}
工作正常,即:。
object(foo)#1 (2) {
["post"]=>
NULL
["get"]=>
object(stdClass)#3 (2) {
["fred"]=>
string(4) "fish"
["joe"]=>
string(6) "bloggs"
}
}
它似乎只是PHP 5.3.x中的一个问题,但它在我们的工作机器上的5.2.x中运行。它是PHP配置问题还是我错过了什么?我查看了Classes and Objects文档,看不到任何内容。
对于这个类来说,这不是一个大问题,但是当涉及到构建数据库类时,它意味着更多的工作。