# Класс Image

В предыдущих уроках мы с вами реализовали класс `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 тоже будет ?>`
← →
↑