我收到错误:
致命错误:无法在应用程序\ models \ Entities \ News.php中重新声明类新闻
这两个课程如下:
application/models/News_model.php
<?php
require_once(APPPATH."models/Entities/News.php");
class News_model extends CI_Model {
function __construct() {
parent::__construct();
}
}
application/models/Entities/News.php
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* News
*
* @ORM\Table(name="news", indexes={@ORM\Index(name="slug", columns {"slug"})})
* @ORM\Entity
*/
class News {
}
第一个类是模型,最后一个类是Doctrine
的实体类。
我看不出两个名字是不同的冲突是什么。
我正在使用CodeIgniter 3.1.4
。
任何人都知道如何解决这个问题?
先谢谢!
答案 0 :(得分:1)
您有两个同名的课程。
require_once
中包含的文件名为News.php,因此我认为它是一个名为News的类。
然后你在Doctrine中也有一个News类。有两个类在同一名称空间中具有相同的名称,php不允许这样做。您将需要查看使用命名空间或更改这两个类之一的名称。
请注意,在codeigniter中不是您的模型本身,而是使用与您的Doctrine require once
类冲突的News
包含的文件。