PHP 5 introduces abstract classes and methods. An abstract method only declares the method's signature and does not provide an implementation. A class that contains abstract methods needs to be declared abstract.

<?php
abstract class ab {
    abstract public function 
test();
}

/* the implementing class must implement all methods
 * specified in the abstract class */
class imp_ab extends ab {
    public function 
test() { 
        echo 
"implemented class was called";
    }
}

$a = new imp_ab();
$a->test();
?>