У меня есть абстрактный класс для перемещения данных из одной базы данных в другую, и иногда данные, необходимые для создания основных записей, отличаются из-за наличия устаревшей таблицы в целевой базе данных, которая включает инструкции по поиску данных в источнике. Очевидно упрощенно, вот где проблема вступает в игру:
abstract class foo
{
protected abstract function createBaseEntry($id);
}
Иногда мне нужен только один идентификатор, переданный этой функции, но в некоторых случаях мне нужно передать два. Конечно, если фактическая сигнатура конкретного метода не соответствует абстрактному методу, PHP выдаст фатальную ошибку и остановит выполнение. Кроме предопределения нулевым максимальным количеством аргументов и изменения каждого конкретного класса, который расширяет этот, есть ли способ обойти это?