Использование класса БД, в дргуих классах. ООП

Astral Man

We Will Rock You
Использование класса БД, в дргуих классах. ООП

Есть класс для работы с БД, я его использую в других классах вот так:

PHP:
class db {
    finction open() {
        ...
    }
...
}

class test {
    private $db;

    function __conctruct() {
        $this->db = new db;
    }

    function test_1() {
       $this->db->open();
       ...
    }
}
Это правильный подход?
 

kvf77

Red Devil
Astral Man

он у тя работает? если да - не пудри нам мозги.
Если нет - тогда не хватает данных для ответа.

вопрос надо так задавать, чтобы мы видели проблему - а я пока вижу, что ты пришел спросить у нас разрешения писать так, если запретим - не будешь так писать?
 

Astral Man

We Will Rock You
kvf77
Он работает, и я спрашиваю о правильности подхода а не разрешения.
 

kvf77

Red Devil
Astral Man
ну ответь сам - в чем ты видишь неправильность такого подхода? что тебя смущает? в чем короче у тебя проблема?
 

neko

tеam neko
известно в чем
незнаем куда засунуть оо... ооп!

-~{}~ 12.09.05 17:13:

я на всякий случай поясню

> Это правильный подход?

вот этот кусок псеводкода -- это не подход
это вообще ничто
и ни о чем не говорит

кроме того подобные вопросы *многократно* обсуждались
 

kvf77

Red Devil
neko
я-то это понимаю - просто хочу услышать у товарища - чего он хочет - одобрения или отрицания ему не надо - тогда как понимать его правильно/неправильно - тоже не понятно
 

Screjet

Новичок
Astral Man
Каждый раз при создании объекта БД, создается новое соединение с БД?
Если нет, какой смысл каждому объекту инстансировать БД?
Если да, то есть ли смысл каждому объекту выдавать новое соединение с БД (тратить на коннест/дисконнект время)?

имхо, правильно будет так:
PHP:
class my_super_puper_object {
  private $db;
  function __construct( &$db ){
    // не нужно новое соединение:
    $this->db = &$db;
    // нужно новое соединение:
    $this->db = new db;
  }
}
 

neko

tеam neko
скрежет вот откуда ты это высосал про новое соединение

там нигде нету указания на то что создается новое соединение
я говорю же
код этот -- ни о чем
 

Screjet

Новичок
neko
типа в объекте БД вообще нет понятия ресурса "коннект"?
Нафик тогда вообще такой объект нужен? :)
 

Лисю

Guest
neko
класс называется db, функция open. Явно что класс не о шашечках.
 

neko

tеam neko
я незнаю нафиг
предпочитаю не домысливать
желаю того же и вам.

для большей понятности могу домыслить
например этот злополучный db может спрашивать у третьей стороны стоит ли ему подключаться
может быть много еще чего
 

vitus

мимо проходил
Astral Man - правильный
kvf77, neko - а чего вы на людей кидаетесь?
Screjet - а можт у него синглетон ?

:)
 

neko

tеam neko
дада
синглетон-фиглетон
давайте сейчас придумаем душераздирающие подробности
 
Сверху