Bonjour à tous,

alors voila je me fais une partie des tutoriel avec Cakephp 2.2.5 et je rencontre un soucis à 12.19 dans le PostsController j'ai :

<?php
class PostsController extends AppController{

var $name='Posts';

function index(){
$q = this->posts->find('all');
$this->set('articles',$q);
}

}
?>

et en message d'erreur :

Fatal Error
Error: syntax error, unexpected T_OBJECT_OPERATOR
File: C:\wamp\www\Test_Blog\app\Controller\PostsController.php
Line: 7

La ligne 7 étant : $q = this->Post->find('all');

Remarque : le dossier dans vue est posts et ici le this dirige vers Post, le soucis j'ai changé ça n'a rien fais.

Une aide pour moi et les autres qui auront le soucis ?

En remerciant la communauté.

AlexLaw.

5 réponses


Maenhyr
Réponse acceptée

Je dirais même

$q = $this->Post->find('all');

il faut en effet que cela soit ton Model qui envoie la recherche find(). Par contre tu avais oublié le $ devant this. Si ce n'est pas résolu, le problème peut provenir de ta version de PHP. Dans ces cas là, tu peux la connaitre en faisant phpinfo().

Bonjour,
Premièrement, essaye d'utiliser les balises code lorsque tu post sur ce forum, c'est beaucoup plus lisible pour ceux qui veulent t'aider.
Bon ensuite, ya quelque chose qui m'intrigue dans ce que tu as écris car dans le code tu écris ça :

$q = this->posts->find('all');

et ensuite tu dis et je cite :
La ligne 7 étant : $q = this->Post->find('all');

Il est clair que les 2 codes ci-dessus ne sont pas les même donc si dans ton code original, tu as fais ça :

$q = this->posts->find('all');

remplace le par :

$q = $this->Post->find('all');
AlexLaw
Auteur

Ah oui désolé pour les balises. Par contre j'ai commis l'erreur en postant sur le forum, la ligne est bien celle avec Post, en faite j'avais testé avec posts et ensuite poster sur le forum d'où l'erreur. Donc toujours bloqué malheureusement !

AlexLaw
Auteur

J'ai honte... Merci prbaron !

PS : si je rencontre des soucis (plus sérieux) sur le même tuto, est-il mieux de placer ma question ici pour ne pas réaliser des posts inutilement ?

Techniquement, tu ne referas pas deux fois cette erreur. Ton problème viendra d'un autre endroit de ton code pour une autre fonctionnalité. Du coup il vaut mieux créer un nouveau post, cela permet d'identifier rapidement l'erreur pour quelqu'un qui veut aider (en effet il verra ton post en corrigé alors qu'il y aura des nouvelles erreurs) et de retrouver un problème tout aussi facilement pour quelqu'un qui a la même erreur (il n'aura pas à rechercher dans un fil de commentaires très long).