Подключение класса к другому классу

SiZE

Новичок
Ломаю голову как реализовать функционал.

Есть некий класс назовем его Page. Этот класс нужен для работы с информацией на странице.
Есть второй класс, назовем его Image. Этот класс позволяет работать с изображениями. Класс Image может существовать, как отдельно, так и подключаться к различным классам, предоставляя свой функционал.

PHP:
class Page {
 function init( $action ){
  if ( $action == 'show' ) $this->showPage();
 }
}

class Image {
 function init( $ation ){
  if ( $action == 'show' ) $this->showImages();
 }
}
Класс Page рендерит некую страницу. Я на эту страницу добавляю ссылку с набором параметров «Изображения» и класс Page должен подключить класс Image и как-то получить доступ к его функционалу. Получается, что класс Image выступает модулем/плагином который расширяет функционал класса Page. При этом необходимо отслеживать уникальность изображений в зависимости от набора параметров. Т.е. на разных страницах я должен иметь возможность загрузить и вывести разные изображения. Тоже самое касается и других классов.

Пока вижу решение прописать в методе init класса Page дополнительно elseif ( $action == 'image_load' ) и тд. Но action в отрендеренной форме загрузки изображений классом Image могут пересекаться с action в классе Page.Например и там и там может быть action «add», в классе Page он добавляет страницу, в классе Image изображение. Вобщем не знаю, что делать. :(
 
Сверху