Problem napotkałem w wersji php 6.0.0-DEV (CVS)
Zdaje sobie sprawę, że jest to wersja deweloperska i wszystko w niej może ulec zmianie.
Na początek kod:
<?php class A { function test($foo){} } class B extends A { function test(){} } $instance=new B(); // Fatal error: Declaration of B::test() must be compatible with that of A::test() in (...) ?>
Oczywiście powyższy kod działa w php 5 poprawnie i nie generuje żadnych błędów.
Zastanawiam się, czy to błąd, niedopracowanie, czy też czeka nas zmiana? Powyższy mechanizm jest dość często stosowany przez programistów. Czy taka zmiana jest logiczna? Macie jakieś pomysły?
Pozdrawiam.