Monday, November 22, 2010

Error while working with Zend Framework application.ini resources.layout.pluginClass = ‘xxxxxx’

Hi Folks!

I came across an interesting problem while working with Zend Framework module based implementation.

To enable module based layout I followed the very good post by Ponders.

But rather than loading class in Bootstrap.php I defined in applicatio.ini.

I made following changes in application.ini :-

resources.layout.pluginClass = 'Plugin_ModuleLayout'

Code was working fine on my machine but when my colleague checked out the version things were broken and the error message displayed was

Zend_Exception: Security check: Illegal character in filename in /path/to/Zend/library/Zend/Loader.php on line 303

After lot of head scratching I came to know that it was single-quote (') that was culprit. When I modified application.ini like

resources.layout.pluginClass = Plugin_ModuleLayout

things started working and I was able to apply module based layout.

Even we can use double quotes (") like this :-
resources.layout.pluginClass = "Plugin_ModuleLayout"

I think PHP version created some problem.

I was running PHP 5.3.2 and my colleague was working on 5.2.x.

Word of caution : Avoid use of quotes in application.ini.

Hopefully I will be able to help someone and save few precious minutes.