взаимодействие классов

Novice

Новичок
взаимодействие классов

Допустим есть классы, которые используются в проекте:

error - обработка ошибок
file - для работы с filesystem
db - для работы с БД
site - класс "сайт"
module - класс "модуль"
guestbook - гостевая
.......

Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site. Использование glodal тоже нежелательно.

Насколько корявым является след. подход:


class error {
...
}

class file extends error {
...
}

class db extends error {
...
}

class site extends db {
...
}

class module extends site {
...
}

class guestbook extends module {
...
}

Наверняка есть решения получше, хотелось бы услышать о них, использование возможностей 5-ой версии приветствуются.
 

Кром

Новичок
>Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site.

Т.е. ты решил создать себе проблему, чтобы потом с треском ее преодолевать?
 

Novice

Новичок
Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?
 

Кром

Новичок
>Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?

Если ты думашь, что создание объекта внутри метода разрушит всю концепцию твоего чрезвычайно объектного кода, то ты ошибаешся.
Поэтому, лично я проблемы не вижу.
 

Макс

Старожил PHPClub

Frol

Новичок
мне нравятся такие OOP'шники.

Novice
Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?
таким способом ты свое OOP загоняешь куда подальше.
Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site. Использование glodal тоже нежелательно.
http://phppatterns.com/index.php/article/articleview/6/1/1/
 
Сверху