Kohana没有加载自定义模块类

时间:2015-06-05 02:17:28

标签: php module kohana

我在Kohana创建了一个模块,但是当我尝试使用它时遇到了问题。当我尝试使用该类时,我收到以下错误:

ErrorException [ Fatal Error ]: Class 'PopcornInteractor' not found

APPPATH/classes/model/movie.php [ 120 ]
118     public function getPopcorn($popcorn) {
119         $uid = null;
120         $pci = new PopcornInteractor();

bootstrap.php文件具有以下模块配置

Kohana::modules(array(
  ...,
  'popcornmod' => MODPATH.'popcornmod'
));

当我调试Kohana::modules()时,我得到以下结构:

...
popcornmod : "\/var\/www\/html\/mywebsite.com\/modules\/popcornmod\/"

我的文件结构是:

modules                       
+                             
+-+popcornmod                 
   +                          
   +-+classes                 
   |  +                       
   |  +-+PopcornInteractor.php
   |                          
   +-+config                  
   |  +                       
   |  +-+popcornmod.php       
   |                          
   +-+init.php

PopcornInteractor.php文件包含以下内容:

class PopcornInteractor {
    protected $config;
    function __construct() {
        $this->config = Kohana::$config->load('popcornmod')->as_array();
    }
}

最后,在错误显示时显示的包含文件消息中,显示:

MODPATH/email/vendor/swiftmailer/lib/swift_required.php
MODPATH/email/vendor/swiftmailer/lib/classes/Swift.php
MODPATH/popcornmod/init.php
SYSPATH/classes/cookie.php
SYSPATH/classes/kohana/cookie.php

我尝试查找PopcornInteractor.php,但它不在包含的文件中。

这个mod在我的本地安装(OS X)中运行良好,但是当我上传到服务器(Linux)时,它无效。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

更改了文件的名称,现在正在运行,最终的结构是:

modules                       
+                             
+-+popcornmod                 
   +                          
   +-+classes                 
   |  +                       
   |  +-+popcorninteractor.php <-- change: lower cases
   |                          
   +-+config                  
   |  +                       
   |  +-+popcornmod.php       
   |                          
   +-+init.php