Bonjour et Salam tt le monde ,

Voila je suis débutante cake php , j'ai un probléme avec les hélpers

la je veux creer mon propre helpéres dans j'ai creer la class Datehelper qui se trouve dans Views/Helpers/date.php

class DateHelper extends AppHelper

{

function show($titre)

{

return $titre ;

}

}

ensuite j ai ajouté cette ligne dans mon controller :

var $helpers = array ('Date'); // Attribut de la claa

Et j ai faut l appel de mon helper en ajoutant le code suivant :

$lien = $this->Html->show('titre');

echo $lien

Mais j'ai l'erreur suivante :

(!) Fatal error: Call to une fonction membre show() sur un non-objet dans C: \ wamp \ www \ gestion_rdv \ app \ Controller \ appointments_controller.php sur la ligne 15

6 réponses


extrarox
Réponse acceptée

Bah comme ça, avec le peu de code, je sais pas c'est bizarre, tu fais bien l'appel dans le Controller, et la ligne 16 c'est bien celle-là?
Au pire mets la fonction qui fait l'appel dans le contrôleur.

Salut,

Essaye comme ça :

App::uses('AppHelper', 'View/Helper');
class DateHelper extends AppHelper {
    public function show($titre) {
        return $titre;
    }
}

Dans le contrôleur :

public $helpers = array('Date');

$lien = $this->Date->show('titre'); //Là il y avait ton erreur, le reste c'est pour un code plus propre
echo $lien;

A+

Merci pour ta réponse j'ai fait un copier coller a ton code
Mais j ai toujour l 'erreur :

Call to a member function show() on a non-object in C:\wamp\www\gestion_rdv\app\Controller\appointments_controller.php on line 16.

Ton helper est dans le bon répertoire?

app/View/Helper/DateHelper.php ?

oui exactement sauf que son nom est date.php et même si j ai testé avec DateHelper.php j ai toujours la même chose
je sais pas mais il peut pas avoir une relation avec la version de cakephp qui est 2.0.5 ?

Sauf erreur de ma part, il semblerait que tu utilises un Helper dans le controller, et CakePhp n'autorise pas cela. Donc, soit tu transforme ce helper en component, soit tu importe ton helper dans le controller :

App::import('Helper', 'Date');