TourDeJeu, le réseau des jeux en ligne alternatifs : jeux web multijoueurs, jeux par forum. En savoir +

Flux RSS des discussions du forum : pour les joueurs, et pour les créateurs et MJ
  Reply to this topicStart new topicStart Poll

> Php5] Erreur Lors D'un Passage De Paramètre.
Draedrus
Ecrit le : Lundi 19 Novembre 2007 à 21h35
Quote Post


Ouf
*

Groupe : Membre
Messages : 212


Bonjour, j'ai récemment décidé de porter réellement mon jeu en P.O.O. pour ce faire j'utilise énormément de paramétres par référence, je m'explique:

J'ai une classe A qui instancie des objets de classe. Dans une de ces classes une fonction est appéllée qui utilise des instances utilisées par A:

CODE
class Gmain
{
private Gsess; // les sessions
private Gdb; // la gestion de la base de données.

function __construct()
{

$p1=new utilisateur($Gdb,$Gsess);
}

}

class Utilisateur
{
private date;
public function __construct(&$Gdb,&$Gsess)
{
$Gsess->set_date($this->date);
}
}


L"Erreur que j'obtiens en utilisant ce procédé est:
Fatal error: Call to a member function set_date() on a non-object in URL

Le plus étrange est que lorsque je fais $Gsess->date=$this->date ça passe sans broncher... Mais j'ai d'autres erreurs du style plus loin. J'aimerais savoir comment règler ça.

Merci bien. sweatdrop.gif


--------------------
user posted image

- Un jeu de rôles avec... Un peu d'Humour, un peu de médieval-fantastique, un peu de stratégie, un peu de délire profond, un peu de désign bon enfant... :)
PMEmail PosterUsers Website
Top
butch2k
Ecrit le : Lundi 19 Novembre 2007 à 22h52
Quote Post


Kid
*

Groupe : Membre
Messages : 20


Quand tu appelles le constructeur de ton Gmain $Gdb et $Gsess sont null, et c'est ce qui est passé en arguments à ton constructeur d'utilisateur, donc en gros tu tentes:
null->set_date();
PMEmail Poster
Top
Draedrus
Ecrit le : Jeudi 22 Novembre 2007 à 19h14
Quote Post


Ouf
*

Groupe : Membre
Messages : 212


Je suis désolé j'ai oublié de signaler qu'elles étaient instanciées v___v" je suis un gros boulet quand je m'y mets, l'erreur venait d'une déclaration en global de $Gdb et $Gsess dans le constructeur de la classe Utilisateurs... v__v'


--------------------
user posted image

- Un jeu de rôles avec... Un peu d'Humour, un peu de médieval-fantastique, un peu de stratégie, un peu de délire profond, un peu de désign bon enfant... :)
PMEmail PosterUsers Website
Top
Sybler
Ecrit le : Jeudi 29 Novembre 2007 à 00h12
Quote Post


Ouf
*

Groupe : Membre
Messages : 453


juste en haut de:
$Gsess->set_date($this->date);

Tu peux mettre un :
var_dump($Gsess);

et poster intégralement les résultats ?


--------------------
user posted image
PMEmail PosterUsers Website
Top
Draedrus
Ecrit le : Mercredi 27 Février 2008 à 17h43
Quote Post


Ouf
*

Groupe : Membre
Messages : 212


Je suis désolé Sybler pour ne pas être passé plus tôt, entre mes études et ma vie privée j'oublie souvent de repasser voir sur TdJ... J'ai changé complétement de méthode pour gèrer mon système ^^'.


--------------------
user posted image

- Un jeu de rôles avec... Un peu d'Humour, un peu de médieval-fantastique, un peu de stratégie, un peu de délire profond, un peu de désign bon enfant... :)
PMEmail PosterUsers Website
Top
« Sujets + anciens | Programmer | Sujets + récents »

Reply to this topicStart new topicStart Poll