Simply speaking, Liskov substitution principle just states that inheritance should be logical part of a class it inherits from to satisfy is-a
relationship.
As for strict standards, PHP expects an overridden method to have exactly the same signature as its parent. In your case its a just a different type-hint
. Instead you should type-hint an interface that both classes do implement.
class Reader {
public function read(ReadableAtomInterface $readable){}
}
class AtomReader extends Reader {
public function read(ReadableAtomInterface $readable){}
}