I have followed up this blog post with a request to pecl-dev.
Eh.. I don't get why this matters so much. Aren't they just loaded, compiled, and cached a little later? I.e. doesn't it go roughly like this:
Non-conditional / non-autoload:
- script loads
- APC finds the includes and loads those to
- scripts are compiled and cached
- and executed each time they're needed
Conditional / autoload
- script loads, get compiled and cached
- script is executed, asks for its includes (one by one)
- includes are each fetched, compiled, cached op-coded
- each next time it's needed, everything is nicely executed from cache
Thats ugly, I think in the bytecode compiler you can do some hacks for use auto-loading anyway. Use somethink like bytecode per snippet/file would probabaly work (but anyway it's not easy to implement).
But currently I work on the C++ support for Eclipse. And theres a very similar problem with the preprocessor-includes. You will never know exactly what going on and which files will be included, so you will never know how you programm looks exactly at compile time.
Hard stuff for php ide's anyway! Hopfully in the future we have a solution for both ide's and bytecodecaches (and everything else).