EvanDotPro/EdpSuperluminal

Breaks with ZF 2.5+

tasmaniski opened this issue · 5 comments

the file is created /cache/classes.php.cache,
but every request got error

PHP message: PHP Fatal error: Interface 'Interop\Container\ContainerInterface' not found

What's Interop? AFAIK, Superluminal will only cache classes in the Zend namespace.

Yes, that is the bug. zend-servicemanager depend on "container-interop/container-interop" package. So it's not cached, but EdpSuperluminal try to get it.
Do you have an idea how to overcome this case?

Hmm, but if the class is not in classes.php.cache, it should autoload. I keep having issues where the interfaces are included after implementing class, so the autoloader loads the interface, then blows up when it finds the interface a 2nd time in the cache. See issue #16.
You can try modifying Module.php line 54 to include classes starting with Interop to see if it helps.

@dkmuir and @tasmaniski

I have a same problem. How did they solve it?

Adicionei isso no Module.php na linha 54

// Skip non-Interop classes if (0 !== strpos($class, 'Interop')) { continue; }
E funcionou muito bem para a versão ZF 2.5.3