2012-09-26 54 views
0

我已經查看了一些以前的Stack帖子,其中介紹瞭如何在ZF2中加載供應商庫,但我認爲它們有點過時。我想弄清楚如何正確添加我的供應商庫「推進」。向Zend Framework 2.0添加供應商特定模塊

我從Zend Framework的一個錯誤,說「無法加載‘行走’模塊」

這裏是我的設置。

在我application.config.php

return array(
'modules' => array(
    'Application', 
    'Propel' // Module I am trying to add 
), 
'module_listener_options' => array(
    'config_glob_paths' => array( 
     'config/autoload/{,*.}{global,local}.php', 
    ), 
    'module_paths' => array(
     './module', 
     './vendor', 
    ), 
), 

);

這裏是我的供應商目錄

-Vendor 
    -Propel 
     -runtime 
     -config 
     -autoload_classmap.php 
     -Module.php 

這裏的設置是我Module.php

namespace ORM; 

class Module 
{ 
public function getAutoloaderConfig() 
{ 
    return array(
     'Zend\Loader\ClassMapAutoloader' => array(
      __DIR__ . '/autoload_classmap.php', 
     ) 
    ); 
} 

public function getConfig() 
{ 
    return include __DIR__ . '/config/module.config.php'; 
} 
} 

這裏是我的autoload_classmap.php

// Generated by ZF2's ./bin/classmap_generator.php 
return array(
    'Propel'      => __DIR__ . '/runtime/lib/Propel.php' 
); 

任何想法?

+0

你的'Module.php'聲明它的命名空間爲'namespace ORM;'。你的情況必須是「推動」。如果你改變了這個,你是否還有其他的錯誤? –

+0

你說這真的很有趣,因爲我剛來這裏回答我自己的問題。是的,這正是我做錯了。模塊名稱空間,文件夾名稱和application.config.php中使用的名稱必須相同。謝謝Daniel! :) – user521990

回答

3

命名空間名稱必須是「Propel」。 application.config.php中的文件夾名稱,模塊名稱空間名稱和模塊名稱必須完全相同。