Ho l'interfaccia:PHP - Interfaccia eredità - dichiarazione deve essere compatibile
interface AbstractMapper
{
public function objectToArray(ActiveRecordBase $object);
}
e classi:
class ActiveRecordBase
{
...
}
class Product extends ActiveRecordBase
{
...
}
========
ma posso' t fare questo:
interface ExactMapper implements AbstractMapper
{
public function objectToArray(Product $object);
}
o questo:
interface ExactMapper extends AbstractMapper
{
public function objectToArray(Product $object);
}
ho ottenuto l'errore "dichiarazione deve essere compatibile"
Quindi, c'è un modo per fare questo in PHP?
So che questo è stato inviato a pochi anni fa, ma ora ecco la mia due cents- messaggio Questo errore non fare è con l'ereditarietà dell'interfaccia. Questo errore è dovuto al fatto che PHP non supporta il vero overloading di funzioni/metodi, come in altri linguaggi (ad es. Java, C++) a cui probabilmente sei abituato. – anotheruser1488182