Класс Image ООП на PHP

В предыдущих уроках мы с вами реализовали класс Tag для работы с тегами. Пусть с помощью этого класса мы хотим сделать картинку:

<?php $image = new Tag('img'); echo $image->setAttr('src', 'img.png')->open(); // <img src="img.png"> ?>

Давайте сделаем работу с картинками более удобной. Не будем использовать класс Tag, а создадим специальный класс для работы с картинками, назвав его Image.

С использованием нового класса мы могли бы переписать код вот так:

<?php $image = new Image(); echo $image->setAttr('src', 'img.png')->open(); // <img src="img.png"> ?>

Пока особой разницы, как вы видите, нет. У нового класса, однако, есть преимущество - мы можем сделать вещи, характерные именно для тега img.

К примеру, в теге img атрибут src является обязательным. Было бы удобно, чтобы новый класс работал так: если атрибут src не задан через setAttr, то он все равно будет созданном теге, но с пустым значением:

<?php $image = new Image(); echo $image->open(); // <img src=""> ?>

Кроме того, было бы неплохо сделать то же самое и для атрибута alt (важен для SEO, желательно, чтобы всегда был):

<?php $image = new Image(); echo $image->open(); // <img src="" alt=""> - alt тоже будет ?>



Чат с GPT Компилятор