GAGA Template

XLetter

Fatal Error

Call to a member function...

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
ghz Posté le 02/11/2007 13:29 - #

Membre
2 messages
13 ans
Bonjour,

On m'affiche une erreur :
Fatal error: Call to a member function assign() on a non-object in C:\wamp\www\gagatemplate\generator.php on line 6

De quoi s'agit-il ?


Merci.

Ze Thriller Posté le 02/11/2007 14:56 - #


Membre
105 messages
24 ans
Tu as probablement oublié ce que l'on appelle l'instanciation de l'objet GagaTemplate.

Ton code ressemble probablement à cela:

$tpl->assign(array('truc' => 'valeur'));


Mais mis comme ça tu constateras que $tpl n'est pas un objet donc n'a pas les méthodes qui vont avec (par défaut PHP semble initialiser les variables à NULL).

Bref, rajoute ceci AVANT tes assignations:

$tpl=new gagatemplate(); // Il te faudra peut-être paramétrer ceci, vois la doc.


Voilà ^^
Pas si terrible que ça

ghz Posté le 02/11/2007 20:06 - #

Membre
2 messages
13 ans
[ Edit : Non j'ai trouvé, il fallait inclure le dossiers des classes. Merci. ]

Arf, les erreurs m'aiment, mais pas moi ! >_<
$tpl=new gagatemplate('C:/wamp/www/gagatemplate/');

Me renvoi :
Fatal error: Class 'gagatemplate' not found in C:\wamp\www\gagatemplate\generator.php on line 2

Même si je ne mets pas de classe.

T'as une idée ?

Edité par ghz le 02/11/2007 20:25

Ze Thriller Posté le 04/11/2007 10:07 - #


Membre
105 messages
24 ans
Ceci OBLIGATOIREMENT en début de page:

require_once('chemin/vers/gaga.class.php');


Ou plus élégamment avec PHP5:


// Page principale

require_once($_SERVER['DOCUMENT_ROOT'].'/core_autoload.php');

// Fichier: core_autoload.php

// Cette fonction N'EST PAS à utiliser comme une fonction classique, PHP s'en charge.
function __autoload($nom_classe)
{
    $nom_classe=strtolower($nom_classe); // Parce que PHP est un langage insensible à la casse.

   if ($nom_classe == 'gagatemplate')
   {
      $f='chemin/vers/gaga.class.php';
   }
   // On peut continuer comme ça indéfiniment ^^

   // Include dynamique.
   require_once($f); // Le 'require_once' est indispensable.
}
 


Et dès que tu feras un quelconque appel à la classe gagatemplate (dans ce cas, ça se résume à utiliser le constructeur mais ce n'y est pas toujours cantonné), l'autoload (l'une des méthodes magiques de PHP5, note le double souligné en tête du nom de la fonction) va se charger comme un grand de faire les includes qu'il faut avant de commencer à bosser.

Edité par Ze Thriller le 04/11/2007 10:09

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Rapport de bugs, à la liste des forums, ou au haut de page