У тебя довольно очевидная проблема.Поскольку у вас нет метода __construct()
, abstract public function a();
- ваш конструктор (php 4).Ваша фатальная ошибка возникает при создании экземпляра класса B, а не при вызове метода a()
в экземпляре класса B.
Если вы измените имя вашего метода a()
на что-то другое, все будет работать как задумано!
Пример, который работает:
<?php
abstract class A
{
abstract public function test($x);
}
class B extends A
{
public function test($x)
{
echo $x;
}
}
$q = new B();
$q->test(10);
?>