В PHP у меня есть абстрактный класс (родительский), который расширяется дочерним классом.Я хочу, чтобы дочерний класс реализовал функцию parent.И когда я вызываю реализованную функцию child, функциональность parent по умолчанию должна вызываться автоматически.Возможно ли это?
Например, я хочу создавать функцию журнала родителя каждый раз, когда вызывается функция отправки потомка.
abstract class CommunicationService {
// child classes must implement this
abstract function send();
abstract function receive();
public function log($action) {
echo 'Creating nice Log on = ' . $action;
}
}
class ServiceA extends CommunicationService {
public function send() {
// Is it possible that the parent's logging functionality be invoked automatically by default?
echo 'Send Message using Service A';
}
public function receive() {
echo 'Receive Message using Service A';
}
}
$serviceA = new ServiceA();
$serviceA->send(); // It should send message as well as create logs.
$serviceA->receive(); // It should just receive message and not log it.
Кроме того, возможно ли выполнить некоторые действия по умолчанию вродитель и остальные функции в дочернем?
наилучшими пожеланиями.