致命错误:非抽象方法News_model :: __ construct()必须包含body [CodeIgniter]

时间:2014-07-09 22:29:18

标签: php codeigniter

我正在尝试CodeIgniter用户指南2.2.0版中的教程。我跟着 粘贴的代码,但我收到此错误消息。这里到底有什么不对?

Fatal error: Non-abstract method News_model::__construct() must contain 
body in /var/www/leomel/application/models/news_model.php on line 3

源代码:

<?php
class News extends CI_Controller {
   public function __construct()
   {
     parent::__construct();
     $this->load->model('news_model');
   }

   public function index()
   {
     $data['news'] = $this->news_model->get_news();
     $data['title'] = 'News archive';

     $this->load->view('templates/header', $data);
     $this->load->view('news/index', $data);
     $this->load->view('templates/footer');
   }

   public function view($slug)
   {
     $data['news'] = $this->news_model->get_news($slug);
     if (empty($data['news_item']))
     {
        show_404();
     }

     $data['title'] = $data['news_item']['title'];

     $this->load->view('templates/header', $data);
     $this->load->view('news/view', $data);
     $this->load->view('templates/footer');
   }
}

2 个答案:

答案 0 :(得分:11)

该错误属于另一个班级News_model,而您已显示News

中的代码

错误是自描述的 - 你必须指定一个方法体,除非它是抽象的。

你可能有什么:

public function __construct();

你必须拥有的东西:

public function __construct()
{
    // method's body
}

答案 1 :(得分:0)

很简单,将{}添加到News_model类的构造函数中。

__construct(){/*body*/}