I develop with E_STRICT on. When extending a class I sometimes encounter the following fatal error…
Strict Standards: Declaration of […] should be compatible with that of […] in […]
…due to a child method signature not exactly matching its respective parent method signature.
Sometimes, it’s simply that the class’s documentation isn’t accurate or up to date (I’ve encountered this in PHP’s PDO library). Or, there may be little or no documentation. And in either case, downloading and reading the library’s C source code can be as frustrating as guesswork.
What can one do to quickly work through these errors, without suppressing E_STRICT?
You can use the command-line reflection feature to find out the expected signature: