php - Codeigniter:将命名空间添加到 Controller 类时出现服务器错误

标签 php codeigniter namespaces internal-server-error

我正在 codeigniter 中构建一个应用程序,我的应用程序文件夹层次结构如下所示:

|-controller
   |-admin
      |-dashboard

我想将仪表板添加到命名空间管理,所以我这样做了:

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 中使用 Controller 类的命名空间时如何防止此类错误?

最佳答案

原因是 Codeigniter 本身不支持命名空间。他们这样做是为了允许 Codeigniter 向后兼容 PHP 4。命名空间仅在 PHP 5.3.0 及更高版本中可用。

关于php - Codeigniter:将命名空间添加到 Controller 类时出现服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509789/

相关文章:

clojure:如何列出当前命名空间中可访问的所有名称?

Java XSLT 未按预期工作

php - 有没有比使用装饰器更好的设计 zend_forms 的方法?

php - 将十进制 ASCII 转换为 ASCII 字符的 PHP 函数

php - *仅*在数据库表更改(添加行)时刷新 html 页面部分

php - 按字母和数字排序 MySQL 结果(A1、B2、B3、C2)

php - 无法使用 codeigniter 查询计算有条件的结果

php - 文件上传到目的地但名称未保存在 codeigniter 中的数据库中

php - 如何在 Bootstrap 模式(或对话框)和 codeigniter 内查询数据库

javascript - JS 命名空间和页面加载