Связать классы ООП

R@zoR

Новичок
Связать классы ООП

Есть 3 класса.
Core, Db и User.
Как легко сделать чтобы Core и User могли получить доступ к БД?
 

jonjonson

Охренеть
Задействовать говноглобалс?
В конструктор передать экземпляр?
Замутить грязный синглетон?
Заюзать паттерн реестр?
 

R@zoR

Новичок
глобалс - не вариант.
С конструктором был вариант, какие тут минусы?
Синглетон - что это?
Реестр - попробую.
 

jonjonson

Охренеть
Автор оригинала: R@zoR С конструктором был вариант, какие тут минусы?
Скорее плюсы, так как рекомендуется работать через интерфейсы. И вообще - в ООП интерфейсы это главное. Без них объекты мертвы.
Автор оригинала: R@zoR Синглетон - что это?
Паттерн. В php синглетон глобален автоматом.
 

HraKK

Мудак
Команда форума
Синлетон один. А учить надо паттерны и их примененни. Но для начала прочитай Буча
 

jonjonson

Охренеть
Учить и применять нужно рефакторинг. А паттерны - это результат. Если же начинать с паттернов - то это фетиш :)
А Буча читать нужно, хотя и не всем. Для начала лучше Макконнелла "Совершенный код".
 

HraKK

Мудак
Команда форума
jonjonson
Паттерны подсказывают в каком направлении надо проводить рефакторинг. А кстати по рефакторингу оветую Фаулер "Рефкторинг"
 

HraKK

Мудак
Команда форума
Долгие года практики. Желательно в комманде где уже есть люди курящие его. Или читать и пытатся делать - до полного просветления.
 

440hz

php.ru
Автор оригинала: jonjonson
Задействовать говноглобалс?
В конструктор передать экземпляр?
Замутить грязный синглетон?
Заюзать паттерн реестр?
ИМХО
1. глобалс при ООП моветон.
2. если надо будет еще с десяток объектов передать все в параметрах лепить? некатит.
3. именно это вернет единственный экземпляр
4. реестр то же нужно передать туда? получится двойная работа? сначала озаботиться о передаче реестра. Потом реестр озаботиться о другом екземпляре?

синглетон.

тут или
$db = DB::GetInstance()
или
$db = Singleton::GetInstance('DB");

кто как делает?
 

Angerslave

Новичок
Просвятите неграмотного, чем вызов статических методов класса хуже синглтона в данном случае?
 

Sluggard

Новичок
В php синглетон глобален автоматом.
Угу. Синглтоны делятся на локальные и глобальные. У одних автоматом это свойство стоит, у других ручками приходится настраивать...
Замутить грязный синглетон?
Можно и чистый. Кто на что горазд.
Скорее плюсы, так как рекомендуется работать через интерфейсы. И вообще - в ООП интерфейсы это главное. Без них объекты мертвы.
ИМХО опыта тебе не занимать.
 
Сверху