我收到错误:
致命错误:无法在应用程序\models\Entities\News.php中重新声明类News
这两个类如下: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
。
如何解决此问题?
1条答案
按热度按时间ssm49v7z1#
您有两个同名的类。
require_once
包含的文件名为News.php,因此我假设它是一个名为News的类。然后你在Doctrine中也有一个News类。有两个类在同一个命名空间中有相同的名称,php不允许这样做。你要么需要使用命名空间,要么需要改变这两个类中的一个的名称。
请注意,codeigniter中的模型本身并不与您的Doctrine
News
类冲突,而是使用require once
包含的文件。