2010-11-30 20 views
1

J'ai généré des tests via "cake bake testsuit" et utilisé localhost/test.php pour mon application. Donc, le est une erreur quand j'ai essayé d'exécuter un de test (sinon les tests sont valides): Erreur fatale CakePHP: Classe 'ErrorHandler' introuvable

 
Fatal error: Class 'ErrorHandler' not found in Z:\home\prodvigator\www\cake\libs\object.php on line 201 
Ces modèles et contrôleurs sont générés par échafaudage et je ne pense pas qu'il y ait une erreur dans cette source.

utilisant: CakePHP 1.3 La dernière SimpleTest

Répondre

0

essayer de vérifier les tests générés pour une erreur qui obtient écrit en haut du fichier.

Parfois, je suis connu pour trouver quelque chose comme ça dans les tests de modèle et de contrôleur.

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead in /projectname/cake/console/templates/default/classes/test.ctp on line 22 
0

Dans mon cas, l'erreur était:

Fatal error: Uncaught Error: Class 'ErrorHandler' not found in C:\[path]\core\cake\libs\object.php on line 211 
(!) Error: Class 'ErrorHandler' not found in C:\[path]\core\cake\libs\object.php on line 211 

L'erreur me arrivait lorsque vous essayez de visiter http://localhost/user_accounts/index

j'avais déjà la vue créée à l'application \ vue \ user_accounts \ index.ctp avec le contenu suivant:

<div> 
    Text from div 
</div> 

J'avais créé le correspondant contrôleur g et à des contrôleurs app \ \ user_accounts_controller.php:

<?php 
    class UserAccountsController extends AppController { 
     public function index() { 
      // Render the view in /views/user_accounts/index.ctp 
      $this->render(); 
     } 
    } 
?> 

Depuis que je n'associez pas un modèle à ce contrôleur, je manquais ceci: var $uses = array();. Cela m'aurait fait gagner du temps si l'erreur avait été plus explicite, quelque chose comme "Vous n'avez pas de modèle associé à ce contrôleur".

Le correctif est:

<?php 
    class UserAccountsController extends AppController { 
     // Use this controller without a need for a corresponding Model file. 
     var $uses = array(); 
     public function index() { 
      // Render the view in /views/user_accounts/index.ctp 
      $this->render(); 
     } 
    } 
?> 
Questions connexes