【发布时间】:2016-02-19 16:12:46
【问题描述】:
我正在 codeigniter 中构建一个应用程序,我的应用程序文件夹层次结构如下:
|-controller
|-admin
|-dashboard
我想将仪表板添加到namespace admin,所以我这样做了:
defined('BASEPATH') OR exit('No direct script access allowed');
namespace admin;
class Dashboard extends MY_Controller {
//constructor and some methods
}
问题是每当我尝试从 uri localhost/myapp/admin/dashboard 访问仪表板类时,我都会在浏览器上收到如下错误:
Server error
500
但是,如果我注释掉 namespace admin; 行,它运行时不会出现任何错误。
为什么命名空间会产生这样的内部服务器错误?
在codeigniter中为控制器类使用命名空间时如何防止此类错误?
【问题讨论】:
-
首先检查您使用的是哪个版本的 PHP 和 codeigniter 并告诉我们。 CodeIgniter 不支持取决于版本的命名空间。如果你想使用命名空间 php 版本必须 >= 5.3.0 Codeigniter 不使用命名空间,因为它被编写为支持 php 4
-
如果对你有帮助,请告诉我
-
php 5.6 和 CI 版本 3.0.1
-
实际上 Codeigniter 的命名空间存在问题,因为 codeigniter 是在 PHP4 中构建的,而 Namespace 是在 PHP5 中引入的
-
我已将此添加为答案,如果对您有帮助,请接受它作为答案
标签: php codeigniter namespaces internal-server-error