2010-07-15 6 views
1

HI! J'essaye de créer le service Web dans le cakePhp. Je suis nouveau sur cakePhp et je n'ai commencé que récemment à travailler dessus. J'ai trouvé un tutoriel utile à http://www.littlehart.net/atthekeyboard/2007/03/13/how-easy-are-web-services-in-cakephp-12-really-easy/ J'ai créé les fichiers controller et index.ctp comme décrit dans le tutoriel. Mais quand je tapé l'URL (http://localhost:81/cakephp/foo) du contrôleur pour exécuter le fichier, je suis l'erreur suivante:ControllerFile erreur introuvable dans cakephp

// controllers/recipes_controller.php 
/** 
* Test controller for built-in web services in Cake 1.2.x.x 
* 
* @author Chris Hartjes 
* 
*/ 
class FooController extends AppController { 
    var $components = array('RequestHandler'); 
    var $uses = ''; 
    var $helpers = array('Text', 'Xml'); 
    function index() { 
     $message = 'Testing'; 
     $this->set('message', $message); 
     $this->RequestHandler->respondAs('xml'); 
     $this->viewPath .= '/xml'; 
     $this->layoutPath = 'xml'; 
    } 
} 

CakePHP: le cadre de développement rapide php

contrôleur manquant

Erreur: FooController Ne peut être trouvé.

Erreur: Création de la FooController classe ci-dessous dans le fichier: contrôleurs app \ \ foo_controller.php

Chose étrange est que (tout le monde peut voir) que le texte du contrôleur est chargé dans la page d'erreur, mais une erreur indique que le fichier du contrôleur n'est pas trouvé. J'ai également essayé de suivre le tutoriel sur book.cakephp.org/view/477/The-Simple-Setup. Mais la même erreur s'est également produite ici. Quelqu'un peut-il aider? En passant, j'ai aussi changé le texte de routes.php pour le travailler avec des webservices web. Merci

+1

Le code ci-dessus inclus dans le fichier 'contrôleurs/foo_controller.php', ou , comme le suggère le commentaire en haut, 'controllers/recipes_controller.php'? –

Répondre

0

Vous avez entré l'URL http://localhost:81/cakephp/foo. Cake interprète correctement cela pour indiquer que vous recherchez l'action index sur le FooController. L'erreur ne signifie pas qu'il a trouvé le fichier, mais simplement qu'il a trouvé ce qu'il faut rechercher mais ne l'a pas trouvé où il s'attend à ce qu'il soit.

La ligne: Erreur: Create the class FooController below in file: app\controllers\foo_controller.php vous dit ce qui devrait être là (et à quoi, au minimum, il devrait ressembler). Vérifiez que vous avez correctement nommé le fichier et qu'il est situé là où l'erreur indique qu'il devrait l'être.

+1

Merci! Mais j'ai créé le fichier foo_controller.php dans le dossier app \ controllers. Voilà pourquoi je suis surpris. Parce qu'en haut de la page d'erreur, cakephp écrit tout le code de foo_controller.php et après le code, il mentionne que le fichier foo_controller.php n'est pas trouvé. Si cakePhp n'a pas trouvé le fichier, alors comment le lire et écrire le texte sur la page d'erreur? J'espère que vous comprenez maintenant le problème. Toute aide concernant pour résoudre ce problème. Ou sur la création des services de repos Web dans cakephp 1.2 sera la bienvenue. Merci – mas

+0

Essayez d'entrer quelque chose comme ~/rubbishes/index et voir à quoi ressemble l'erreur. – Leo

+0

Votre appel doit être pluriel, de même que le nom du contrôleur - \t foos – Leo

1

Le fait que le contenu de votre fichier FooController soit affiché dans le navigateur indique que PHP n'est pas en cours d'exécution.

Vous devez vous assurer que la définition de votre classe FooController est enfermé dans <?php et ?> balises, comme ceci:

// controllers/recipes_controller.php 
/** 
* Test controller for built-in web services in Cake 1.2.x.x 
* 
* @author Chris Hartjes 
* 
*/ 
<?php 
class FooController extends AppController { 
    var $components = array('RequestHandler'); 
    var $uses = ''; 
    var $helpers = array('Text', 'Xml'); 
    function index() { 
     $message = 'Testing'; 
     $this->set('message', $message); 
     $this->RequestHandler->respondAs('xml'); 
     $this->viewPath .= '/xml'; 
     $this->layoutPath = 'xml'; 
    } 
} 
?> 
Questions connexes