Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Класс в классе...
 
 автор: gOFREe   (12.03.2012 в 22:00)   письмо автору
 
 

У меня есть класс подключения к БД, как мне из другого класса подключиться?


<?
class mysql
{
......
  public function 
query($sql)
  {

      
$result mysql_query($sql$this->conn_id);
          ..................
  }
}

class 
{
   function 
sql ($q){
           
$sql "INSERT INTO ".$q."..............."
           
mysql::query($sql); // Не помогает...
  
}
  function 
test($tbl) {
          
$this->$sql($tbl);
  }
}

$check = new A(); 
$check->test('table');
?>

  Ответить  
 
 автор: Гость   (13.03.2012 в 07:17)   письмо автору
 
   для: gOFREe   (12.03.2012 в 22:00)
 

Вы ошибки то читать не пробовали который приведенный вами код выводит? Они наверное что-то полезное сообщают.

  Ответить  
 
 автор: cheops   (13.03.2012 в 17:35)   письмо автору
 
   для: gOFREe   (12.03.2012 в 22:00)
 

>mysql::query($sql); // Не помогает...
У вас метод query() не статичный, нельзя к нему обращаться через ::, нужно объявлять объект класса mysql и писать что-то вроде $obj->query($sql); или переписывать класс mysql так, чтобы его метод query() был статичным.

  Ответить  
 
 автор: Igorek   (16.03.2012 в 07:20)   письмо автору
 
   для: gOFREe   (12.03.2012 в 22:00)
 

У меня встречный вопрос, наверное в тему.
Например, мы включаем класс A в класс B, предполагается работать только с классом B, а класс A чисто вспомогательный и используется исключительно внутри класса B, причем без "должной" инициализации класса A - класс B работать не будет. Под "должной" инициализацией я подразумеваю передачу определенного параметра (скажем ID) в конструктор класса B, на основе этого параметра инициализируется класс A.
Так вот, необходимо на этапе конструктора класса B попытаться инициализировать класс A и, если данное действие завершилось неудачей, "прекратить" конструкцию класса B. Вернуть false или что-то в этом роде. Подскажите, пожалуйста, как это правильно организовать?

  Ответить  
 
 автор: cheops   (16.03.2012 в 16:35)   письмо автору
 
   для: Igorek   (16.03.2012 в 07:20)
 

Лучше всего сгенерировать исключение и "поймать" его снаружи.

PS Под новые вопросы, лучше все-таки заводить новые темы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования