Услуги
НАШ СЕРВИС
Слишком сложно? Тогда запросите консультацию специалиста!
Наша компания занимается тем, что помогает студентам выполнять различные учебные работы на заказ. Вы можете ознакомиться с перечнем выполняемых работ, а так же с их стоимостью на странице с ценами.
В случае если класс подключает к себе интерфейсы, но реализует не все методы в них, он автоматически становится абстрактным.

Листинг 2 Интерфейсы и абстрактные классы. Файл abstract.php
Трейты
Начиная с версии 5.4, в РНР введен дополнительный инструмент для повторного использования кода в классах - трейты. В отличие от интерфейсов, трейты содержат не абстрактные методы, а общие фрагменты классов.
Если мы объявляем интерфейсы Seo и Tаg и заставляем все классы реализовывать методы этих интерфейсов, наверняка среди реализаций будет довольно много повторяющегося кода. Для решения этой проблемы как раз и предназначены трейты. Реализовав один раз функциональность sео-блока и тегов Tag, их можно подмешивать в любой класс, в котором данная функциональность может потребоваться.
Объявляются трейты при помощи ключевого слова trait, после которого следует название трейта и в фигурных скобках его содержимое. Для включения одного или нескольких трейтов в класс используется ключевое слово use (листинг 3).


Листинг 3 Использование трейтов. Файл traits.php
Результатом работы скрипта из листинга 3 будут следующие строки:
Seo:: keywords
Tag: :tags
Услуги
НАШ СЕРВИС