CodeIgniter中找不到错误类控制器

时间:2011-06-27 12:02:47

标签: php codeigniter class controller

您好,我在CodeIgniter中收到Controller未找到错误。这是我的控制器代码

<?php

class HelloWorld extends Controller
{

    function HelloWorld()
    {
        parent::Controller();
    }

    function index()
    {
        $this->load->view('index_view');
    }

    function hello()
    {
        $this->load->view('hello_view');
    }

}
?>

这是视图代码:

Hello, Nice to see you!

执行时出现此错误:

Fatal error: Class 'Controller' not found in D:\wamp\www\CodeIgniter_2.0.2\application\controllers\helloworld.php on line 2

有谁能告诉我为什么会收到此错误?

3 个答案:

答案 0 :(得分:5)

从CodeIgniter 2.x CI_前缀添加到所有核心类。查看Change Log

Added CI_ Prefix to all core classes.

对于CodeIgniter 2.x

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class HelloWorld extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('index_view');
    }

    function hello()
    {
        $this->load->view('hello_view');
    }

}

对于CodeIgniter 1.x

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class HelloWorld extends Controller
{

    function HelloWorld()
    {
        parent::Controller();
    }

    function index()
    {
        $this->load->view('index_view');
    }

    function hello()
    {
        $this->load->view('hello_view');
    }

}

希望这会对你有所帮助。谢谢!

答案 1 :(得分:1)

确保您的控制器扩展父控制器类并检查您的文件名。

<?
     class Helloworld extends CI_Controller {

            function index()
            {
                   $this->load->view('index_view');    
            }

                function hello(){
                $this->load->view('hello_view'); 
                }

        }
        ?>

答案 2 :(得分:0)

我遇到了和你一样的问题,我只是通过CI_Controller替换扩展父类行中的单词Controller来尽可能简单地解决它并且它的工作可能就是你的代码中的解决方案

<?php

class HelloWorld extends CI_Controller{

   function HelloWorld() {
    parent::Controller();
   }

  function index() {
    $this->load->view('index_view');
  }

  function hello() {
    $this->load->view('hello_view');
  }

}
?>

并且您的代码将执行