I am using ZF 1.8.4 and Doctrine 1.1.2 with a module directory setup of

+---application
|   +---configs
|   \---modules
|       +---default
|       |   +---controllers
|       |   \---views
|       |       \---scripts
|       |           +---error
|       |           \---index
|       +---error
|       |   +---controllers
|       |   \---views
|       |       \---scripts
|       |           \---error
|       \---user
|           +---controllers
|           +---models
|           |   \---generated
|           \---views
|               \---scripts
|                   \---index
+---library
|   \---App
|       \---Application
|           \---Resource
+---public
|   +---images
|   \---themes
|       \---default
|           \---css
\---tests
    +---application
    \---library


I have a resource file called Doctrine.php in my library folder which does
the following:


$zla = Zend_Loader_Autoloader::getInstance();
$zla->unshiftAutoloader( array( 'Doctrine', 'autoload' ), 'Doctrine'
)->setFallbackAutoloader( true );


$manager = Doctrine_Manager::connection( $this->_getConnectionString() );
$manager = Doctrine_Manager::getInstance();
$manager->setAttribute( Doctrine::ATTR_MODEL_LOADING, 
Doctrine::MODEL_LOADING_CONSERVATIVE );
$manager->setAttribute( Doctrine::ATTR_PORTABILITY,
Doctrine::PORTABILITY_NONE );
$manager->setAttribute( Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true );
$manager->setAttribute( Doctrine::ATTR_USE_DQL_CALLBACKS, true );
$manager->setAttribute( Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true );


My config xml file has this:


--- snip ---


        <pluginPaths>
                
<App_Application_Resource><![CDATA[App/Application/Resource]]></App_Application_Resource>
                </pluginPaths>  
                <resources>
                        <frontController>
                                
<defaultmodule><![CDATA[default]]></defaultmodule>
                                <params>
                                        
<prefixDefaultModule><![CDATA[true]]></prefixDefaultModule>
                                
<usedefaultcontrolleralways><![CDATA[false]]></usedefaultcontrolleralways>
                                </params>
                        </frontController>
                        <modules>
                                <default><![CDATA[default]]></default>
                                <error><![CDATA[error]]></error>
                                <user><![CDATA[user]]></user>
                        </modules>
                        <!-- Doctrine application plugin -->
                <doctrine>
                        <dbtype><![CDATA[dbtype]]></dbtype>
                    <dbhost><![CDATA[localhost]]></dbhost>
                    <dbname><![CDATA[dbname]]></dbname>
                    <dbuser><![CDATA[dbuser]]></dbuser>
                    <dbpass><![CDATA[dbpass]]></dbpass>
            </doctrine>                 
                        <!-- View application plugin -->
                        <view><![CDATA[view]]></view>
                </resources>


--- snip ---


The default Module Autoloader is loaded correctly during bootstrapping,
making available the default resource types (form, model, dbtable), but I
use Doctrine so dbtable is not used and I would like to insert, override or
even replace the default resource type(s) with a folder in models that
Doctrine uses which is 'generated'.


My preference is that when my Resource Plugin which configures Doctrine as
my DB layer, also can inject the needed resource type into the default
module autoloader, in order to make the configuration available in all
modules.


I have tried for the past day to get this to work but all of the examples I
find are to create a module autoloader in the module bootstrap file which
means (as I understand it) that I have to do this for each module bootstrap.


I am still new to Zend and struggling a bit with the changes in v1.8, so I
may have just missed the example that shows how this is done.


Of course my ultimate problem here is that when I try to load a model
User.php in the models folder which extends generated\BaseUser.php, the
BaseUser class is not found.

Thanks,
David
-- 
View this message in context: 
http://www.nabble.com/Zend-Framework-%2B-Doctrine-Module-Autoloader-issue-tp24392765p24392765.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to