Может кто-нибудь сказать мне, почему:
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 или я что-то упустил?Я просмотрел документы по классам и объектам и ничего не вижу.
Для этого класса это не большая проблема, но когда речь идет о создании классов баз данных, это означает ОЧЕНЬ больше работы.