Возможно ли наследование свойств и методов от нескольких классов в php? если да, то пример пожалуйста
Возможно ли наследование свойств и методов от нескольких классов в php?
В чистом виде - нет, но начиная с версии 5.4.0, PHP реализует метод для повторного использования кода под названием трейт (trait).
Цитата:
Трейт - это механизм обеспечения повторного использования кода в языках с поддержкой только одиночного наследования, таких как PHP. Трейт предназначен для уменьшения некоторых ограничений одиночного наследования, позволяя разработчику повторно использовать наборы методов свободно, в нескольких независимых классах и реализованных с использованием разных архитектур построения классов. Семантика комбинации трейтов и классов определена таким образом, чтобы снизить уровень сложности, а также избежать типичных проблем, связанных с множественным наследованием и смешиванием (mixins).
Трейт очень похож на класс, но предназначен для группирования функционала хорошо структурированым и последовательным образом. Невозможно создать самостоятельный экземпляр трейта. Это дополнение к обычному наследованию и позволяет сделать горизонтальную композицию поведения, то есть применение членов класса без необходимости наследования.
Пример:
<?php
trait ezcReflectionReturnInfo {
function getReturnType() { /*1*/ }
function getReturnDescription() { /*2*/ }
}
class ezcReflectionMethod extends ReflectionMethod {
use ezcReflectionReturnInfo;
/* ... */
}
class ezcReflectionFunction extends ReflectionFunction {
use ezcReflectionReturnInfo;
/* ... */
}
* Подробнее можно почитать в официальной документации по ссылке выше.
Если вам это понадобилось в PHP, значит пора внедрять интерфейсы. Свойства вы так не унаследуете, но опять таки если вам это понадобилось, пора от них избавляться в пользу методов.
У меня есть кастомная страница настроек в админке WordPressНа ней я вставляю редактор текста с помощью wp_editor($text, 'content', ['textarea_name' => 'content'])
Доброго времени суток, ребят подскажите как можно реализовать такую функцию: