Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mysql_fetch_object и private конструктор, Почему вызывается конструктор  
:(
    Опции темы
alex77
Дата 31.1.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



Здравствуйте.
Возник вопрос:
Код

class test {
  private $id, $name;
  private function __construct($a) {
    echo'вызван конструктор, '.$a;
  }
}
$result = mysql_query('SELECT `id`, `name` FROM `tbl` LIMIT 1', $db);
$rows = mysql_num_rows($result);
for ($i = 0; $i < $rows; $i++) {
  $row = mysql_fetch_object($result, 'test', array('привет'));
}

выводит:
вызван конструктор, привет

Почему так происходит, ведь конструктор private?



Это сообщение отредактировал(а) skyboy - 31.1.2008, 11:32
PM MAIL ICQ   Вверх
skyboy
Дата 31.1.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Хм. нигде в документации не нашел описания подобного эффекта. возможно, баг.
а версия PHP какая?
PM MAIL   Вверх
alex77
Дата 31.1.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



PM MAIL ICQ   Вверх
skyboy
Дата 31.1.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



с ссыдкой знаком, но не понял, зачем ты её привел. я там никаких ньюансов, связанных с областью видимости не нашел. А ты?
PM MAIL   Вверх
alex77
Дата 31.1.2008, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



Тоже не нашел.
Ссылку привел так, на всякий случай. 
Всётаки хочется разобраться, баг это или фича, ато наделаешь, а в следующей версии уберут.
PM MAIL ICQ   Вверх
skyboy
Дата 31.1.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(alex77 @  31.1.2008,  12:55 Найти цитируемый пост)
ато наделаешь, а в следующей версии уберут.

а если сразу сделать public-конструкторы? smile
PM MAIL   Вверх
Glip
Дата 31.1.2008, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



http://www.php.net/manual/en/language.oop5.decon.php
Код

Constructor
void __construct ([ mixed $args [, $... ]] )

PHP 5 allows developers to declare constructor methods for classes. 
Classes which have a constructor method call this method on each newly-created object, 
so it is suitable for any initialization that the object may need before it is used.


Это сообщение отредактировал(а) Glip - 31.1.2008, 23:51


--------------------
user posted image
PM MAIL   Вверх
alex77
Дата 7.2.2008, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



Спасибо, прояснили ситуацию.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0760 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.