我正在尝试扩展 CodeIgniter 控制器。我创建了 MY_Controller.php 文件,文件内容如下:

1
2
3
4
5
6
7
8
<?php
class MY_Controller extends CI_Controller
{
    function generate_key ( )
    {
        $n = rand ( 10e16 , 10e20 ) ;
        return base_convert ( $n , 10 , 36 ) ;
    }

现在我通过扩展 MY_Controller 而不是 CI_Controller 创建我的控制器。以下是控制器的示例:

1
2
3
4
5
6
class Member extends MY_Controller
{
    public function index ( )
    {
    $this -> load -> view ( ‘welcome’ ) ;
    }

我已将 MY_Controller.php 文件放在 Application/libraries/ 文件夹中。但是当我加载应用程序时,我得到了错误:

1 Fatal error : Class ‘MY_Controller’ not found in path\\to\\application\\controllers\\member .php

谁能告诉我我做错了什么?谢谢。

编辑:我正在使用 CodeIgniter 2.0.2



相关讨论

  • 您使用的是哪个版本的 CI?


我遇到过这个问题:

1 `Fatal error : Class ‘MY_Controller’ not found `

发布到我的远程 Linux 服务器 (DreamHost) 但不在 Windows 本地。问题是 Linux 区分大小写:我的 MY_Controller.php 带有小写 c,它没有自动加载。

以防万一其他人有同样的问题:)



相关讨论

  • 我也有这个,在 Mac 上本地工作,但在部署到 linux 服务器时失败。


你需要在 application/core 中创建 MY_Controller.php 。我尝试了您的设置并遇到了同样的问题。将自定义控制器移动到 core 解决了问题。

希望对你有帮助!


我遇到了这样的问题,经过一番搜索,我发现自己犯了错误,因为我的控制器类名是 MY_Controller 但文件名是 My_Controller[大小写不匹配]。注意:- 在本地主机中我没有任何错误。

在我使用的扩展控制器中

1
2
3
4
5
class Home   extends MY_Controller {
  function __construct ( ) {
parent ::__construct ( ) ;
  }
}

即使我得到了错误。

将我的文件名更改为 MY_Controller 后,它开始运行良好。

MY_contrller 放置在应用程序/核心文件夹中。



相关讨论

  • 对于那些对此有疑问但遵循正确目录列表/做法的人^这就是答案。检查那些案例!


声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。