This is a bug in Zend_Db_Table, it implicitly uses
Zend_Loader::loadClass(); (not autoloader aware) to load dependent
rows/tables etc, there are issue in the tracker for this.

You will need to use a require to get this working.

2009/4/1 Marko Korhonen <[email protected]>:
>
> Thanks,
>
> Same thing was apparently possible to do using _initFrontController()
> method.
>
> I finally got A LOT progress... But as always, there's the next problem.
>
> My directory structure for my ModuleX is following:
>
> application
>  modules
>    modulex
>      controllers
>      models
>        DbTable
>          Row
>            Example.php << Modulex_Model_DbTable_Row_Example << it's not
> known by autoloader
>        Example.php << Modulex_Model_DbTable_Example << get's loaded by
> autoloader
>      Example.php << Modulex_Model_Example << get's loaded by autoloader
>
>
> I tried following in _initModule() method in my module's bootstrap
>
> $this->getResourceLoader()
>                        ->addResourceType(
>                        'row',
>                        'models/DbTable/Row',
>                        'Model_DbTable_Row'
>                );
>
> br, Marko
>
>
> keith Pope-4 wrote:
>>
>> You need to register the frontcontroller bootstrap class resource, see
>> below:
>>
>> There is a post here about it: http://akrabat.com/
>>
>> I am using this .ini file:
>>
>> [bootstrap]
>> autoloadernamespaces.0 = "Zend_"
>> autoloadernamespaces.1 = "SF_"
>>
>> phpsettings.display_errors = 0
>> phpsettings.error_reporting = 8191
>> phpsettings.date.timezone = "Europe/London"
>>
>> bootstrap.path = APPLICATION_PATH"/bootstrap/Bootstrap.php"
>>
>> resources.frontcontroller.moduledirectory = APPLICATION_PATH"/modules"
>> resources.frontcontroller.defaultmodule = "storefront"
>> resources.frontcontroller.throwerrors = false
>> resources.frontcontroller.params.prefixDefaultModule = true
>>
>> resources.db.adapter = "PDO_MYSQL"
>> resources.db.isdefaulttableadapter = true
>> resources.db.params.dbname = "storefront"
>> resources.db.params.username = "root"
>> resources.db.params.password = "root"
>> resources.db.params.hostname = "localhost"
>> resources.db.params.driver_options.1002 = "SET NAMES UTF8;"
>>
>> [production : bootstrap]
>>
>> [development : bootstrap]
>> phpsettings.display_errors = 1
>> resources.frontcontroller.throwerrors = true
>>
>> [test : bootstrap]
>>
>> And this:
>>
>> <?php
>> $paths = array(
>>     get_include_path(),
>>     '../library/Incu',
>>      '../library',
>> );
>> set_include_path(implode(PATH_SEPARATOR, $paths));
>>
>> defined('APPLICATION_PATH')
>>     or define('APPLICATION_PATH', realpath(dirname(__FILE__) .
>> '/../application'));
>> defined('APPLICATION_ENV')
>>     or define('APPLICATION_ENV', 'development');
>>
>> require_once 'Zend/Application.php';
>>
>> $application = new Zend_Application(
>>     APPLICATION_ENV,
>>     APPLICATION_PATH.'/config/store.ini'
>> );
>> $application->bootstrap();
>> $application->run();
>>
>>
>> 2009/4/1 Marko Korhonen <[email protected]>:
>>>
>>> Hi,
>>>
>>> I have following error coming from $this->bootstrap('FrontController');
>>> calls in Bootstrap.php.
>>>
>>> Fatal error: Uncaught exception 'Zend_Application_Bootstrap_Exception'
>>> with
>>> message 'Resource matching "frontcontroller" not found' in
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php:518 Stack
>>> trace:
>>> #0 /home/_library_unstable/Zend/Application/Bootstrap/Base.php(460):
>>> Zend_Application_Bootstrap_Base->_executeResource('FrontController') #1
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php(418):
>>> Zend_Application_Bootstrap_Base->_bootstrap('FrontController') #2
>>> /home/_applications/apumatti/Bootstrap.php(8):
>>> Zend_Application_Bootstrap_Base->bootstrap('FrontController') #3
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php(503):
>>> Bootstrap->_initControllers() #4
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php(453):
>>> Zend_Application_Bootstrap_Base->_executeResource('controllers') #5
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php(418):
>>> Zend_Application_Bootstrap_Base->_bootstrap(NULL) #6
>>> /home/_library_unstable/Zend/Application.php(289):
>>> Zend_Application_Bootstrap_Base->boot in
>>> /home/_library_unstable/Zend/Application/Bootstrap/Base.php on line 518
>>>
>>> My index.php:
>>> ----------------
>>> ini_set("display_errors", 1);
>>> error_reporting(E_ALL);
>>>
>>> defined("APPLICATION_PATH") or define("APPLICATION_PATH",
>>> "/home/_applications/myapp");
>>>
>>> defined("APPLICATION_ENV") or define("APPLICATION_ENV", "development");
>>>
>>> defined("LIBRARY_PATH") or define("LIBRARY_PATH",
>>> "/home/_library_unstable");
>>>
>>> defined("APPLICATION_ENV") or define("APPLICATION_ENV", "development");
>>>
>>> set_include_path(get_include_path() . PATH_SEPARATOR . LIBRARY_PATH);
>>>
>>> require_once "Zend/Application.php";
>>>
>>> $app = new Zend_Application(APPLICATION_ENV, array(
>>>    "autoloaderNamespaces" => array(
>>>        "Zend_", "ZendX_", "ZendExt_"
>>>    ),
>>>    "bootstrap" => APPLICATION_PATH . "/Bootstrap.php",
>>       'resources' => array('frontcontroller' => array(/* Put your
>> option here*/))
>>> ));
>>>
>>> $app->bootstrap();
>>>
>>> $app->run();
>>>
>>>
>>> And my Bootstrap.php:
>>> ---------------------------
>>> class Bootstrap extends Zend_Application_Bootstrap_Base
>>> {
>>>        protected function _initControllers()
>>>    {
>>>        $this->bootstrap('FrontController');  // << Error
>>>
>>>        $this->frontController->addModuleDirectory(APPLICATION_PATH .
>>> "/modules");
>>>    }
>>>
>>>    /*protected function _initRequest()
>>>    {
>>>       $this->bootstrap('FrontController'); // << Error
>>>        $this->request = new Zend_Controller_Request_Http;
>>>        $this->frontController->setRequest($this->request);
>>>        return $this;
>>>    } */
>>>
>>>    protected function _initHelpers(array $options = array())
>>>    {
>>>        Zend_Controller_Action_HelperBroker::addHelper(new
>>> ZendExt_Controller_Action_Helper_ResourceLoader()); // Copy of Matthew's
>>> pastebin resourceloader
>>>    }
>>>
>>>    protected function _initModules()
>>>    {
>>>        $this->bootstrapControllers();
>>>
>>>        $modules = $this->frontController->getControllerDirectory();
>>>
>>>        foreach ($modules as $module => $dir) {
>>>            if ('default' == $module) {
>>>                continue;
>>>            }
>>>            $bootstrapFile = dirname($dir) . '/Bootstrap.php';
>>>            $class         = ucfirst($module) . '_Bootstrap';
>>>            if (Zend_Loader::loadFile('Bootstrap.php', dirname($dir))
>>>                && class_exists($class)
>>>            ) {
>>>                $bootstrap = new $class($this);
>>>                $bootstrap->bootstrap();
>>>            }
>>>        }
>>>        return $this;
>>>    }
>>>
>>>        public function run()
>>>    {
>>>        $this->frontController->dispatch();
>>>    }
>>> }
>>>
>>>
>>> And I have modular directory structure:
>>>
>>> application
>>>   modules
>>>        default
>>>            controllers
>>>            views
>>>        modulex
>>>            controllers
>>>            models
>>>            views
>>>
>>> etc...
>>>
>>>
>>> Any clues?
>>>
>>> br, Marko
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Zend_Application-FrontController-bootstrap-problem-tp22824433p22824433.html
>>> Sent from the Zend Framework mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> ----------------------------------------------------------------------
>> [MuTe]
>> ----------------------------------------------------------------------
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Zend_Application-FrontController-bootstrap-problem-tp22824433p22825722.html
> Sent from the Zend Framework mailing list archive at Nabble.com.
>
>



-- 
----------------------------------------------------------------------
[MuTe]
----------------------------------------------------------------------

Reply via email to