Akdmeh » 2011.03.23 15:38

Вот код:

Код:

1
2
3
4
5
6
7
8
9
10
11
class mysqli_wrap extends mysqli
{
public function __construct($host, $user, $pass, $db) {
$sql=parent::__construct($host, $user, $pass, $db);
var_dump($sql);
return $sql;
}
}
 
$sql=mysqli_wrap($host, $user, $pass, $db);
var_dump($sql);

$sql внутри конструктора возвращает NULL, но как только он выходит извне - нормальный класс.

Я уже не знаю, что бы это значило. Подскажите, что значит данная особенность и как её исправить?
Мне НУЖЕН $sql внутри конструктора...
Добавлено спустя   4 минуты  50 секунд:
Интересно. Переделал код так:

Код:

1
2
3
public function __construct($host, $user, $pass, $db) {
parent::__construct($host, $user, $pass, $db);
}

И все заработало отлично.
То есть, выходит, если вызвать родительский конструктор, он возвратит значение автоматически в текущий класс?

Nu3oN » 2011.03.23 16:01

ну да... Странно что ты только сейчас о этом узнал =)

Akdmeh » 2011.03.23 16:07

Блин, это выходит конструктор не может возвращать значение, т.к. всегда возвращает текущий класс?

Надо же опозориться. Во дурак, че я сразу не додумался...

Nu3oN » 2011.03.23 16:19

ну можно сказать и так =)
З.ы ничего позорного тут нет =)