Php codeigniter是否有一个;电邮;关键词?

Php codeigniter是否有一个;电邮;关键词?,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我收到以下错误: 遇到未捕获的异常 类型:RuntimeException 消息:您正在加载的型号名称是已在使用的资源的名称:电子邮件 但是,此处会触发错误: if(!class_exists("email")) { $this->load->model("email"); } 所以它不是一个现有的类,但是“email”已经被使用了。“电子邮件”是codeigniter中的关键词吗?如果没有,我如何找出触发此错误的原因?这是CI中的一个

我收到以下错误:

遇到未捕获的异常

类型:RuntimeException

消息:您正在加载的型号名称是已在使用的资源的名称:电子邮件

但是,此处会触发错误:

if(!class_exists("email"))
{
   $this->load->model("email");
}

所以它不是一个现有的类,但是“email”已经被使用了。“电子邮件”是codeigniter中的关键词吗?如果没有,我如何找出触发此错误的原因?

这是CI中的一个缺陷,因为它使用自己的超全局对象,其中包含任何加载的库、模型和第三方库

如果您查看一下Loader类,就会看到Codeigniter检查名称是否已经被使用,并因此被保留

简言之: 您的问题是,您已经加载了
电子邮件
库,这意味着您不能再使用它的名称

因为Codeigniter并不真正支持名称空间,所以您必须找到另一种技术来避免命名冲突。 我建议使用严格的命名约定

例如:

  • 对于任何型号,您都应该使用
    \u model
    后缀
  • 对于任何自制库,
    \u库
    后缀
  • 在您的特定情况下,只需将您的
    电子邮件
    模型重命名为
    电子邮件_模型

    有关如何加载模型的更多信息,请查看他们的


    您在哪里加载
    email
    model?在控制器的函数顶部。它显示因为CI有自己的电子邮件库来发送电子邮件,这可能是CI有电子邮件库的原因,这就是为什么您会出现此错误,试着给你的modal@DevsiOdedra取其他名字不,这不是我创建电子邮件模型的原因,我加载它时没有任何错误,试着在类构造中加载它