a PHP script stops without an error message, if I change the signature of a method of a class, which implements a intereface, e.g.:
interface A
{
public function somefunction();
}
class B implements A
{
public function somefunction(XY $xy);
{
...
}
}
This is an error of course, but there is no error message shown.
What is the name of this error type? (I already searched a lot, but with the wrong phrases obviously) How can I log or output this error?
I'm using PHP 5.3.1 (with XAMPP for Windows 1.7.3)
(I used Zend Debugger with PHP < 5.3 earlier, where those erros were shown in the Eclipse console, but now I'm using XDebug.)
Thanks in advance for any hint!
put at the top of file and then try,
If you still getting no output, please check your error_log.
Something must be up with your configuration. When I try the sample code under PHP 5.3.2+XDebug 2.1.0, PHP complains:
The type of error is a substitution violation, since a
B
can't be substituted for anA
in all situations.Put the following at the top of your script:
It should report an error.
RESOLVED
@ontrack Thanks, your hint directed me to the right direction:
I'm using an autoload function to load required classes (by using spl_autoload_register()). My implemention of my autoloader restrains all error messages... I did not know, that this causes such 'deeper' errors not to show up. This was at least kind of stupid from my side, but I'm more happy, that I found the reason for this problem and I have learned something :-)
Many thanks to all your contributions! And sorry again, that I cannot edit my initial question anymore.
@outis Thanks, please read my comment