Палец вверх 1
Перевод
Перевод

Могу ли я объявить одни и те же множественные абстрактные методы с разными параметрами?

Можно ли как-то сделать это в абстрактном классе в php:

    abstract function AddFilter();

    abstract function AddFilter( /*array*/ $c_array='', /*string*/ $url='')

    // ... etc...

используя необязательные параметры / как мне это сделать? если я просто использую второй, я получаю 'Объявление ofContent :: AddFilter () должно быть совместимо с ContentGeneric :: AddFilter ()'

обновление : хорошо ... мой метод теперь состоит в том, чтобы добавить однострочную функцию обратного вызова в расширенном AddFilter (), которая работает, но, конечно, не самая хорошая, как бы то ни было.

php abstract-class optional-parameters
задан edelwater 20 февр. 2011 г., 2:17:52
источник

1 ответ

Решение 3
Перевод
Перевод

Нет, ты не можешь этого сделать. PHP не поддерживает функции перегрузки с разными сигнатурами, как, например, C ++. Если вы хотите эмулировать что-то подобное, взгляните на магический метод __call () .

ответ дан Sander Marechal 20 февр. 2011 г., 2:40:18
источник