<?php
interface I {
public function storeContents($directory, array $contents, $recursive);
}
abstract class A implements I {
public function storeContents($directory, array $contents, $recursive = false) {
echo 'a';
}
}
class B extends A {
public function storeContents($directory, array $contents, $recursive) {
echo 'b';
}
}
$b = new B;
Fatal error: Declaration of B::storeContents($directory, array $contents, $recursive) must be compatible with A::storeContents($directory, array $contents, $recursive = false) in /in/VDT0P on line 14
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Fatal error: Declaration of B::storeContents($directory, array $contents, $recursive) must be compatible with A::storeContents($directory, array $contents, $recursive = false) in /in/VDT0P on line 14
Process exited with code 255.
Output for 7.2.0 - 7.2.33, 7.3.16 - 7.3.33
Fatal error: Declaration of B::storeContents($directory, array $contents, $recursive) must be compatible with A::storeContents($directory, array $contents, $recursive = false) in /in/VDT0P on line 13
Process exited with code 255.