Ich habe zwei ältere extbase Erweiterungen A und B. Ext B erweitert das Personenmodell und Controller von A und überschreibt die ShowAction. Das erweiterte Modell wird "Personcc" genannt, während das ursprüngliche Modell "Person" genannt wurde. Die showaction sieht aus wieMethode überschreiben mit verschiedenen Deklarationen in PHP7
//show action in Controller of EXT A
public function showAction(Vendor\Ext\Domain\Model\Person = $person) {
...
}
//show action of extending controller:
public function showAction(Vendor\Ext\Domain\Model\Personcc = $person) {
...
}
Jetzt muss ich die Erweiterungen aktualisieren, um sie mit PHP7 zu bekommen arbeiten. In PHP5 funktioniert es so, aber nicht in PHP 7. Der Fehler ist, dass die Deklaration "kompatibel sein sollte". Was kann ich tun, um Ext B komplett neu aufzubauen? Gibt es eine Möglichkeit, PHP7 zu sagen: "Bitte akzeptieren"?
(Der Beispielcode ist ein bisschen abstrakt, aber das Problem sollte klar sein, und es geht durch die gesamte Ausdehnung. Ohne eine gute Idee, dies zu überwinden, ich denke, die Erweiterung komplett überarbeitet werden muss.)
Siehe: http://StackOverflow.com/questions/36079651/Silence-Declaration-Should-Be-Compatible-Warnings-in-PHP-7 –