2011-01-30 26 views
23

tengo que descargar el nuevo codeigniter 2.0 y poner mis archivos de controlador, modelo y vista en la nueva instalación codeigniter 2.0. pero tengo este errorcodeigniter 2.0 Error fatal: Class 'Controller' no encontrado en

Fatal error: 'controlador' Clase no encontrada en /Applications/MAMP/htdocs/site/application/controllers/forside.php en la línea 3

¿Qué estoy haciendo mal? funciona con la versión antigua CodeIgniter pero el nuevo ..: S

la esperanza que alguien me puede ayudar a cabo

+1

La respuesta aceptada dice que se debe cambiar 'extends Controller' a' extends CI_Controller' en versiones> = 2.0. Pero eso realmente rompe mi sitio. – isomorphismes

+0

posible duplicado de [Error Class Controller no encontrado en CodeIgniter] (http://stackoverflow.com/questions/6492544/error-class-controller-not-found-in-codeigniter) – CodeSlayer

Respuesta

36

En CodeIgniter 2 controladores heredan de la superclase CI_Controller, en lugar de la super clase Controller utilizado en CodeIgniter 1.

El lo mismo se aplica a los modelos en CI2 que extienden la clase CI_Model en lugar de Model.

+0

no es genial, he editado todos mis archivos :(, no puedo mi proyecto funciona ahora mismo, tengo muchos errores ... y encryption_key Wtf: p – Sjmon

+0

yup..it funcionó. También la clase contructor en debería ser la función __construct() {// Llamar al constructor parent :: __ construct(); } http://codeigniter.com/forums/viewthread/159834/#769301 – Parag

+0

Es bastante cojo que la mayoría de los CI noveles probablemente encuentren este error porque está en el video introductorio/tutorial de CI http://codeigniter.com/ tutorials/watch/intro/ – nipponese

14

creo que no se está extendiendo el controlador, como a continuación;

<?php 
class MyOwnController extends CI_Controller { 

    function index() 
    { 
     // your code here 
    } 
} 
?> 

Está escrito en http://codeigniter.com/user_guide/general/controllers.html, usted tiene que extender CI_Controller

+0

oh, entonces tengo que editar TODO mi archivos: pi intentará – Sjmon

+0

Triste pero cierto :(Eche un vistazo a http://codeigniter.com/user_guide/installation/upgrade_200.html –

+0

y mi URL no funciona, conozca http: // localhost: 8888/site/nyheder que acaba de decir "La URL/sitio/nyheder solicitada no se encontró en este servidor". – Sjmon

4

Junto con ese prefijo CI_ de su controlador, cualquier clase de núcleo que extienda, debe colocar dentro de la carpeta applications/core/. Esto se debe a que las clases centrales CodeIgniter se han movido a la carpeta system/core/.

+1

¿Esto incluye ampliar la clase base del "Controlador"? En los dos primeros tutoriales en video, dicen que amplíen eso con 'Class Blog' en su ejemplo, y no modifiquen ~/applications/core. – isomorphismes

4
class Student extends CI_Controller { 

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

    // load helpers 
    $this->load->helper('url'); 
    } 
} 

Incluyendo el parent::__construct(); en lugar de parent::Controller();

0

Asegúrese de que el nombre del controlador coincide con el prefijo definido en la configuración:

Por defecto, la configuración tiene:

$config['subclass_prefix'] = 'MY_'; 

Si su controlador es core/SomeController.php no se encontrará porque no comienza con MY_

+0

bien, pero ten cuidado. 'MY_', no 'My_'. –

Cuestiones relacionadas