- GuyCote
- Nombre de messages : 1
Date d'inscription : 27/09/2014
Mettre à jour la description d'un produit avec PHP
Mar 28 Oct 2014 - 16:43
Bonjour,
Je suis en train de développer une interface Web en PHP, qui va lire et écrire dans la base de données Acomba. J'instancie les classes avec COM, comme ceci:
Par contre, lorsque vient le temps d'ajouter un produit, je n'arrive pas à y inscrire la description (PrDescription). J'ai vu que la propriété "PrDescription" est un tableau de BSTR. Dans l'aide du SDK, dans l'exemple Visual Basic, on fait simplement: Product.PrDescription(1) = "Description du produit".
Si je tente de mettre à jour de la même manière en PHP, l'interpréteur de ce dernier croit que je tente de mettre à jour une méthode (à cause des parenthèses je crois), et j'obtiens l'erreur: Can't use method return value in write context
Si je remplace les parenthèses par des crochets "[...]", ma page plante.
J'ai tenté de m'initialiser une variable "array" contenant des BSTR (VT_BSTR):
Lorsque j'assigne une valeur aux éléments de mon tableau, et que je regarde la structure d'un élément (avec la fonction PHP var_dump($testVar[1])), elle est identique à celle que j'obtiens en faisant: var_dump(maClasseProduit->PrDescription(1)). Mais si je tente d'assigner ma variable $testVar à maClasseProduit->PrDescription, ça ne fonctionne pas non plus: Fatal error sans autre détail.
Quelqu'un peut-il m'aider s.v.p.?
Merci beaucoup!
Je suis en train de développer une interface Web en PHP, qui va lire et écrire dans la base de données Acomba. J'instancie les classes avec COM, comme ceci:
- Code:
$iProduct = new COM('AcoSDK.Product022');
Par contre, lorsque vient le temps d'ajouter un produit, je n'arrive pas à y inscrire la description (PrDescription). J'ai vu que la propriété "PrDescription" est un tableau de BSTR. Dans l'aide du SDK, dans l'exemple Visual Basic, on fait simplement: Product.PrDescription(1) = "Description du produit".
Si je tente de mettre à jour de la même manière en PHP, l'interpréteur de ce dernier croit que je tente de mettre à jour une méthode (à cause des parenthèses je crois), et j'obtiens l'erreur: Can't use method return value in write context
Si je remplace les parenthèses par des crochets "[...]", ma page plante.
J'ai tenté de m'initialiser une variable "array" contenant des BSTR (VT_BSTR):
- Code:
$testVar = [
1 => new VARIANT(VT_ARRAY||VT_BSTR),
2 => new VARIANT(VT_ARRAY||VT_BSTR),
3 => new VARIANT(VT_ARRAY||VT_BSTR)
];
Lorsque j'assigne une valeur aux éléments de mon tableau, et que je regarde la structure d'un élément (avec la fonction PHP var_dump($testVar[1])), elle est identique à celle que j'obtiens en faisant: var_dump(maClasseProduit->PrDescription(1)). Mais si je tente d'assigner ma variable $testVar à maClasseProduit->PrDescription, ça ne fonctionne pas non plus: Fatal error sans autre détail.
Quelqu'un peut-il m'aider s.v.p.?
Merci beaucoup!
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum