Yup; subclasses of an abstract class don't need to define every method the abstract class declares. In fact they don't need to define any.
abstract class foo
{
abstract function foo_this();
abstract function foo_that();
}
abstract class bar extends foo
{
function foo_this(){echo 'BANG!';}
// foo_that() is still abstract
}
If I leave the "abstract" off "abstract class bar", PHP terminates with a fatal error to the effect that bar is still an abstract class.