Objets et Ajax

Eléphant du PHP | 447 Messages

26 nov. 2010, 22:52

Hi every one :)

Je ne sais pas comment résoudre ma problématique... J'ai une page sur laquelle je crée un objet personnage, la classe contient une méthode qui permet de guérir le personnage (c'est un jeu), et je veux utiliser cette méthode via ajax...

Le processus que j'utilise est pour l'instant le suivant:

Affichage de la page play.php où est instanciée la classe, cette page contient un bouton qui appelle la fonction javascript qui appelle à son tour un fichier php lequel contient juste le code suivant:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$heal = $n_iperso->heal();
echo $heal;
?>
L'erreur que j'obtiens à l'exécution est la suivante:
Notice: Undefined variable: n_iperso in /var/www/html/haim/lib/ajax/heal.php on line 4

Fatal error: Call to a member function heal() on a non-object in /var/www/html/haim/lib/ajax/heal.php on line 4
Et là je ne sais pas quoi faire pour résoudre ce cas... Help me please! :)
Probably (only a) Human Problem?

Eléphant du PHP | 288 Messages

26 nov. 2010, 23:28

Salut,

Elle vient d'ou ta variable ?
 $n_iperso 
As-t-elle été instancié quelque part?

Eléphant du PHP | 447 Messages

27 nov. 2010, 00:08

Salut,

Elle vient d'ou ta variable ?
 $n_iperso 
As-t-elle été instancié quelque part?
Certes oui:
Le processus que j'utilise est pour l'instant le suivant:

Affichage de la page play.php(1) où est instanciée la classe, cette page contient un bouton qui appelle la fonction javascript qui appelle à son tour un fichier(2) php ...
J'en déduis que mon objet n'existe plus lorsque je fais appel à mon deuxième fichier(2) via ajax.

Ce que j'aimerais savoir c'est comment conserver mon objet en mémoire en fait. Peut-être avec la sérialisation d'objet...
Probably (only a) Human Problem?

devlop78
Invité n'ayant pas de compte PHPfrance

27 nov. 2010, 01:00

Je vais être cynique, mais globalement ... tu as tout compris. Avec la sérialization. Et après tu désérialises pour rétablir les propriétés.

a++

Eléphant du PHP | 447 Messages

27 nov. 2010, 02:18

Ok merci pour tes réponses! :)

En fait je me rends compte que c'est des cas bien particulier où je serai obligé de sérialiser. La plupart du temps je n'en aurai pas besoin, cependant intéressant à connaître le sujet!
Probably (only a) Human Problem?