I have the following hierarchy of classes:
class O_Base {...} class O extends O_Base {...} abstract class A_Abstract { public function save(O_Base $obj) {
Do you see the difference of the function signatures?
// A_Abstract public function save(O_Base $obj) {...} // A public function save(O $obj) {
They are not compatible.