我正在尝试扩展 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)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)