Наследование класов php

222
13 апреля 2018, 15:36

У меня есть базовый класс Product, мне нужно добавить функцию, тоесть расширить его возможности не трогая сам класс и его родительские класы.

Answer 1

Насколько я понял, вы хотите увидеть в PHP extension functions. К сожалению в PHP их нет.

1) Самый true путь - это создать класс потомок MyProduct extends Product и добавить метод туда

2) Мазохистский вариант - можно воспользоваться расширением runkit, а конкретно методом runkit_method_add и добавить метод в рантайме

3) Третий путь - создать функцию (а лучше утилитный класс со статическим методом) с ресивером. Т.е. такую, куда первым параметром будет передаваться ваш объект и реализовать логику в нем. Если внутри данной функции будут нужны приватные поля, то можно воспользоваться рефлексией, хотя это и ай-ай-ай.

READ ALSO
Интеграция Carrot quest с Retail CRM

Интеграция Carrot quest с Retail CRM

Настраиваю интеграцию по этой инструкции https://helpcarrotquest

221
Получить картинку с Canvas средствами PHP

Получить картинку с Canvas средствами PHP

Доброго времени сутокИмеются 4 картинки в виде зверушек и скрипт JavaScript который задаёт случайные цвета нашим зверушкам, и помещает на страницу...

229
Wordpress, плагин, ajax, правильная реализация

Wordpress, плагин, ajax, правильная реализация

Задача: Создать "плагин" на WP, который будет генерировать форму и отображать её на определённых страницахФорма, при помощи AJAX, будет получать...

222