class A {
function m1($a) {
echo "from A";
}
}
class B extends A {
function m1() {
echo "from B";
}
}
$b = new B;
$b->m1();
Я думал, что это не должно работать, потому что согласно Руководство по PHP:
При переопределении методов, Подпись параметра должна оставаться
то же самое или PHP сгенерирует ошибку уровня E_STRICT. Это не относится
в конструктор, который позволяет переопределять с различными параметрами.
Если я правильно понимаю, обязательные параметры должны быть одинаковыми при расширении класса и переопределении одного из его методов. Разве это не правда? Каковы действительные правила переопределения методов в PHP? Пожалуйста, дополните.
Задача ещё не решена.
Других решений пока нет …