Класс 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 тоже будет
?>