Bonjour à tous,

Je reviens vers vous avec un nouveau soucis.

J'ai besoin besoin d'utiliser les cookies avec Cakephp, je suis donc aller voir sur la doc comment ceux ci fonctionnent.

je declare le composant dans mon controller en faisant :

use Cake\Controller\Component\CookieComponent;

Et j'utilise les exemples présent dans la doc,

$this->Cookie->write('name', 'Larry');
$this->Cookie->read('name');

seulement une Fatal Error apparait

Error: Call to a member function config() on a non-object 
Error: Call to a member function write() on a non-object 
Error: Call to a member function read() on a non-object 

J'ai pourtant suivis ce qu'il y a dans la doc, alors je ne comprends pas trop le soucis. est ce que j'ai loupé un truc ? mal fais quelques choses ?

Auriez vous une piste a me donner pour corriger le soucis ?

Merci d'avance

5 réponses


Lartak
Réponse acceptée

Dans le code que tu nous montre, il n'y a pas la méthode config du composant Cookie.
L'as tu bien mit au début de ton controller le :

use Cake\Controller\Component\CookieComponent;

Si c'est bien le cas, il ne te faut pas oublier de charger le composant aussi, avec un :

$this->loadComponent('Cookie');

Soit dans la fonction initialize de ton controller, ou bien dans la fonction beforeFilter ou alors dans la fonction qui utilise de composant.
Si tu ne charges pas le composant, il ne fonctionnera pas. :)
Regardes ici : Configuration des Components.

Bonjour.
Tu as peut-être tout simplement oublié de configurer le cookie.
N'aurais-tu pas oublié cette partie : Paramétrage des Cookies ?

Non justement même le parametrage du cookie me retourne un

Error: Call to a member function config() on a non-object 

C'est bien pour ca que je comprends pas trop pourquoi ca me retourne cette erreur

Merci Lartak, le soucis venait bien du "loading" du composant j'avais oublié un bracket ( $this-loadComponent('Cookie') )
C'était tout bêtement sous mes yeux....

De rien, avec plaisir. ;)