Контроллер класса ошибок не найден в CodeIgniter - PullRequest
3 голосов
/ 27 июня 2011

Здравствуйте, я получаю Controller не найдена ошибка в CodeIgniter.Это код моего контроллера

<?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 ]

5 голосов
/ 27 июня 2011

Начиная с CodeIgniter 2.x CI_ префикс добавляется ко всем базовым классам. Проверьте Журнал изменений .

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 голос
/ 27 июня 2011

Убедитесь, что ваш контроллер расширяет класс родительского контроллера, а также проверьте имя вашего файла.

<?
     class Helloworld extends CI_Controller {

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

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

        }
        ?>
0 голосов
/ 28 мая 2014

Я столкнулся с той же проблемой, что и вы, и решил ее как можно проще, просто заменив слово Controller в строке расширения родительского класса на CI_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');
  }

}
?>

и ваш код выполнится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...