Problème de VO entre Flex et Zend_Amf
Bonjour,
comme annoncé dans le sujet du topic, j'ai un problème avec mes VO. Pour être plus clair ce sont mes classes en Flex et en Php qui sont équivalentes, et qui sont mappées les unes sur les autres lors de chargement de données (SELECT ou INSERT en DB par exemple), pour faciliter la transition des données entre Flex et Php.
Jusqu'à maintenant, tout fonctionnait bien, c'est-à-dire que je pouvais faire toutes les requêtes que je voulais, sans problème, avec mes VO etc..
Par contre depuis quelques jours j'ai un soucis : j'ai crée une nouvelle VO, (que l'on appelera VOTest) , j'ai donc les fichiers :
- VOTest.php côté server
Code:
1 2 3 4 5 6
|
class VOTest{
public $attribut1;
public $attribut2;
...
} |
- VOTest.as côté Flex
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package org.VO
{
[RemoteClass: alias='VOTest']
[Bindable]
public class VOTest(attribut1:int,
attribut2:int,
...)
{
this.attribut1 = attribut1;
this.attribut2 = attribut2;
...
}
public var attribut1:int;
public var attribut2:int;
...
} |
et mon service TestService.php
Dorénavant, lorsque je fais dans ma fonction php quelque chose du genre :
Code:
1 2 3 4 5 6 7 8
| $query = "SELECT * FROM ..."
...
$tmp = new VOTest();
$tmp->attribut1 = $result->attribut1;
$tmp->attribut2 = $result->attribut2;
...
return $tmp; |
j'ai une erreur à l'execution :
Argument Error in org.vo::VOTest() : Expected x, got 0
Le problème est que je n'instancie pas directement une VOTest du côté flex, et la ligne new VOTest() dans mon Testservice.php fais naturellement référence à ma classe Php.
Le problème se résoud lorsque j'enlève la ligne
Code:
[RemoteClass: alias='VOTest']
dans mon VOTest.as : les classes ne sont plus bindées.. et cela marche tout aussi bien (quoique je pense que j'aurai des soucis par la suite si je continue comme ça, et je perds toutes les raisons d'utiliser Zend_Amf ...)
D'une certaine manière je comprend cette erreur, car le constructeur de VOTest.as demande des arguments...
Le problème c'est qu'en sortie du service Php je retourne bien une classe avec les attributs remplis... et ce qui m'étonne le plus c'est que tous mes autres services/VO sont faits de la même manière et marchent très bien...
j'ai fait le test également pour une nouvelle VO et un nouveau service encore une fois, et j'ai toujours l'erreur ici aussi
Je ne comprend pas ce qui se passe.
Est-ce que quelqu'un pourrait me venir en aide svp?
Merci d'avance :)