Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 11 h 29 m 17 s |
|
|
Là je ne pige pas.
Pour expliquer le problème, prenons cet exemple :
Le serveur va contenir :
1. <?php
2.
3. class MaClass
4. {
5. private $a=0;
6. private $b=0;
7.
8. public function __construct()
9. {
10. $this->a = 10;
11. }
12.
13. public function init()
14. {
15. $this->setB();
16. echo 'A = '.$this->a.' - B = '.$this->B;
17. }
18.
19. private function setB()
20. {
21. $this->b = 20;
22. }
23.
24. public function affAandB()
25. {
26. echo 'A = '.$this->a.' - B = '.$this->B;
27. }
28. }
29.
30. ?>
Et dans le client je vais appeller init() et affAandB()
Le problème, c'est que dans init, B vaudra bien 20, mais dans affAandB B vaudra 0.
Pourtant, A vaudra à chaque fois 10.
En gros, une valeur modifiée (que ce soit directement ou par appel d'une fonction) dans le constructeur sera prise en compte partout. (cas de A)
Par contre, une valeur modifié ailleurs n'aura la bonne valeur que dans la fonction qui l'a modifiée (directement ou par fonction). (cas de B)
J'avoue ne pas comprendre
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 14 h 38 m 39 s |
|
|
Je vois que ça n'inspire pas les foules
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 14 h 53 m 59 s |
|
|
C'est assez normal, je ne vois pas ou est le probleme. Ton init() n'est pas appele lors de la construction de l'objet, ce qui n'est pas le cas de __construct() (specifique aux classes PHP, je suppose)
EDIT : Bon, oublie, j'ai manque la ligne juste apres ton code ..
|
|
| |
Message édité 1 fois, la dernière par iraysyvalo le 27 février 2006 - 14 h 56. |
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 14 h 57 m 52 s |
|
|
Non mais tu m'as pris pour un boulet là quand même
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 15 h 37 m 02 s |
|
|
Quid de la persistance des objets sous PHP ?
Je ne m'y connais pas assez dans ce langage, mais en C#/Java, ca ressemble à un problème dans ce genre.
Sûr que tu t'adresses via SOAP au même objet ? Possibilité de voir la référence de l'objet ?
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 16 h 18 m 25 s |
|
|
Oui, je m'adresse au même objet vu que certaines variables conservent, elles, leur bonne valeur.
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 16 h 26 m 02 s |
|
|
Le 27 février 2006 - 16 h 18, Erel69 a écrit :
Oui, je m'adresse au même objet vu que certaines variables conservent, elles, leur bonne valeur.
|
Si tu parles de a, non, cela ne te garantit pas que tu t'adresses au même objet.
Maintenant, si tu as d'autres variables non affectées dans le constructeur mais initialisées ailleurs, et qu'elles ne changent pas, là, oui, tu es sur le même objet...
Il n'y a pas de possibilité en PHP de voir la référence de l'objet ?
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 16 h 32 m 18 s |
|
|
Je repense, tu déclares quelles méthodes au niveau de ton annuaire ?
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 16 h 36 m 53 s |
|
|
Le 27 février 2006 - 16 h 26, gege38 a écrit :
Il n'y a pas de possibilité en PHP de voir la référence de l'objet ?
|
Je vais voir
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 16 h 37 m 03 s |
|
|
Le 27 février 2006 - 16 h 32, gege38 a écrit :
Je repense, tu déclares quelles méthodes au niveau de ton annuaire ?
|
Gné ?
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 16 h 41 m 49 s |
|
|
J'ai tenté un bin2hex(&$this), je sais pas si c'est bien, mais ça me sort le même résultat en tout cas.
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 17 h 00 m 45 s |
|
|
Le 27 février 2006 - 16 h 41, Erel69 a écrit :
J'ai tenté un bin2hex(&$this), je sais pas si c'est bien, mais ça me sort le même résultat en tout cas.
|
Cet appel, tu le fais dans la méthode ?
Si c'est le même résultat, c'est le même objet donc.
Bizarre. Dommage que je n'y connaisse pas grand chose au PHP.
Sinon, pour qu'on soit bien d'accord, tu te sers de quelle couche SOAP pour PHP ? Nu-SOAP ?
Tu déclares bien tes méthodes que tu veux RPC avec les bons paramètres ?
Je jurerais que tu appelles dans un cas une méthode distante, et dans l'autre une locale, ou un truc dans le genre...
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 17 h 04 m 48 s |
|
|
Oui, dans la méthode.
Je ne me sers pas de nu-soap, mais de la couche soap de php.
Je n'ai pas de problème avec les méthodes que j'appelle depuis le client, j'obtiens bien mon retour. C'est au niveau des méthodes internes au serveur que ça foire.
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 17 h 09 m 17 s |
|
|
Tu as essayé de debugger un peu ce bordel en regardant les requêtes lancées par ton client et reçues en réponse (sous nusoap, via la classe client : $client->[request/response/debug_str] )
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 17 h 30 m 58 s |
|
|
Oui mais ça m'apprend pas grand chose...
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 17 h 34 m 09 s |
|
|
Tiens en tout cas il a pas l'air d'aimer l'héritage le serveur soap
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 17 h 36 m 18 s |
|
|
Bon ben un petit $server->setPersistence(SOAP_PERSISTENCE_SESSION); a réglé le problème. Reste plus qu'à m'occuper de l'héritage.
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 27 février 2006 - 17 h 42 m 14 s |
|
|
Le 27 février 2006 - 17 h 36, Erel69 a écrit :
Bon ben un petit $server->setPersistence(SOAP_PERSISTENCE_SESSION); a réglé le problème. Reste plus qu'à m'occuper de l'héritage.
|
On est bien d'accord, il s'agissait donc d'un problème de durée de vie de l'objet.
Bon à savoir, par défaut donc, les objets durent le temps de la requête...
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2006 - 17 h 52 m 28 s |
|
|
Par contre tu sais si il y a quelque chose à déclarer pour utiliser l'héritage sur le serveur soap ?
Il me sort SoapFault exception: [Client] looks like we got no XML document in... quand je rajoute une classe parent
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|