@OneTwoThreeFourFive

Как создать дочерний класс, который виден в родительском в PHP?

Здравствуйте. Я делаю плагин для WordPress, в котором есть панель управления с кнопками. Пробую использовать OOP и создаю класс, который отвечает за создание кнопок. И создаю дочерние классы, которые добавляют эти кнопки. То есть, чтобы была возможность сделать addon, который бы добавлял другие кнопки. Когда я создаю экземпляр главного класса (создаёт кнопки) и дочернего (добавляет кнопки), то это 2 разных объекта. Как сделать так, чтобы главный класс знал о том, что есть дочерний и брал из него данные для создания кнопок. Предполагаю, что в главном классе создать массив, в который добавляются элементы (кнопки) с помощью дочерних классов и в главном классе через foreach выводить кнопки на страницу. Я только начинаю изучать OOP, если это всё не правильно, посоветуйте пожалуйста верное решение.
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
search
@search
мама говорит что я особенный
Смотрите на это так: каждая кнопка реализует интерфейс `Button`. К тому же каждая кнопка может иметь общего родителя. Это если вы так захотите. Это не обязательно. Так же у вас существует класс `Panel`, который хранит коллекцию объектов, реализующих интерфейс `Button`.

Вообще, тема ООП мягко говоря непростая и людей, который написали что-то приличное с первого раза не так уж и много (лично таких не встречал). Но тема сама по себе интересная и стоит того чтоб в неё погрузиться. Сейчас хочу заранее попросить прощения за совет, который звучит весьма высокомерно, он не для того чтоб как-то вас обидеть, а наоборот чтоб помочь побыстрее разобраться в вопросе: выучите наизусть принципы SOLID и повторяйте их каждый день перед сном. Где-то через полгода-год ежедневных повторений и тренировок в ООП, эти принципы начнут приобретать для вас смысл и тогда ваш ООП код будет похож на код за который компании готовы платить зарплату миддл-левел программиста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 сент. 2019, в 18:39
2000 руб./за проект
16 сент. 2019, в 18:30
3000 руб./за проект
16 сент. 2019, в 18:27
1500 руб./в час