Question

I'm working on a project and have the following project layout:

|Project
    |-Application
        |-api
        |-configs
        |-controllers
        |-models
        |-modules
            |-core
                |-controllers
                |-models
                |-views
                |-Bootstrap.php
            |-site1
            |-site2
            |-site3
        |-views
        |-Bootstrap.php
    |-Docs
    |-Library
    |-Public
    |-.zfproject.xml

I've used this in my application.ini to try and set the default module to be the core module:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.frontController.defaultModule = "core"
resources.frontController.defaultControllerName = "Index"
resources.frontController.defaultAction = "index"

resources.modules[] = ""

My problem is that for some reason, I can't get bootstraps working in the modules. It's alsmost as if the default module isn't being changed. The application behaves like it is, until I try and load the bootstraps - I get this error:

Fatal error: Uncaught exception 'Zend_Application_Resource_Exception' with message 'Bootstrap file found for module "default" but bootstrap class "Default_Bootstrap" not found' in M:\Zend_Framework\library\Zend\Application\Resource\Modules.php on line 85

Prefixed by this error:

Zend_Application_Resource_Exception: Bootstrap file found for module "default" but bootstrap class "Default_Bootstrap" not found in M:\Zend_Framework\library\Zend\Application\Resource\Modules.php on line 85

Can anyone see where I'm going wrong?

My Application/Bootstrap.php file:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}

My Application/Core/Bootstrap.php file:

class Core_Bootstrap extends Zend_Application_Module_Bootstrap 
{   
}
Was it helpful?

Solution

Not 100% on this but if you remove the following line:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

that may resolve the issue. If i'm not mistaken, as you're using modules, setting this will cause an error.

OTHER TIPS

Looks like you might be missing one line from your application.ini:

resources.frontController.params.prefixDefaultModule = ""

Try using it this way and see if it works, I think this just tells the app that when using modules, the module named 'default' has no prefix.
Although I could be wrong so you may have to experiment.
Ok, maybe two lines are missing :)

resources.frontController.moduleControllerDirectoryName = "controllers"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top