вопрос скорее организационный.
У меня есть набор галерей. В каждой галерее существует набор изображений. Галереи управляются набором интерфейсных элементов. Я просматриваю 3 сущьности
- галерея
- картинка
- набор галерей и элементы управления (интерфейс)
Объект Галерея наследует свойства объекта Интерфейс, а изображение по сути связано с Галереей только идентификатором. Вот макеты получившихся классов:
class Galleries_control {
... список свойств ...
// конструктор класса
function Galleries_control ($field = false, $value = false) {
if ($field != false && $value != false) {
$gObjectName = \'gObject_0\';
$$gObjectName = new Gallery($field, $value);
} else { // что то еще }
// дальше идут методы этого класса
} // конец класса
class Gallery extends Galleries_control {
... список свойств ...
// конструктор класса
function Gallery ($field = false, $value = false) {
if ($field != false && $value != false) {
$this->getDataGallery($field, $value);
for ($i = 0; $i < sizeof($this->gImagesId); $i++) {
$iObjectName = \'iObject_\'.$i;
$$iObjectName = new Gallery_image($this->gImagesId[$i]);
}
}
// дальше идут методы этого класса
} // конец класса
class Gallery_image {
... список свойств ...
// конструктор класса
function Gallery_image ($iId) {
$this->getDataImage ($iId);
}
// дальше идут методы этого класса
} // конец класса
Суть дела: я объявляю объекты-потомки внутри объекта-предка используя конструктор класса объекта-предка. При этом объект-потомок виден только в методе где он был определен.
Вопросы:
1. Правильно ли я организовал иерархию объектов? Ведь теоретически доступ к потомкам должен быть только у предка его породившего ...
2. Где будет правильнее объявлять новые объекты-потомки? Сейчас они объявляются в конструкторе класса ... но возможно это не совсем верно.
3. Как мне получить доступ к объекту-потомку из объекта-предка, но не из метода конструктора класса (его породившего), а из какого то другого? ... обращаться к объектам-потомкам при этом приходится при помощи ссылок, типа $$nameChaildNode->iData, т.к. количество потомков (картинок в галерее) различно в разных галереях
Прошу помочь разобраться с ООП программингом
плиз