phpbar.de logo

Mailinglisten-Archive

[php] PHP Objekteigenschaft (Instanzvariable) typisiert, aber Wert = NULL ?

[php] PHP Objekteigenschaft (Instanzvariable) typisiert, aber Wert = NULL ?

Björn Ellebrecht bjoern.ellebrecht at triquart.de
Fre Nov 10 13:57:07 CET 2006


Ich habe folgendes Problem:

Ich möchte über SOAP eine Anbindung zum Kreditkarten-Carrier herstellen; 
das funktioniert soweit [PHP 5.x.x]. Dieser benutzt (leider) JAVA, es 
werden WSDL Dateien zur Verfügung gestellt.

Leider schreiben die Regeln im WSDL vor, das eine Objekteigenschaft
typisiert sein muß, aber in meinem Fall auf NULL gesetzt werden muß. Da 
PHP schwach typisiert ist habe ich ein Problem. Setzte ich die 
Eigenschaft auf NULL, bekomme ich einen SOAP Fault Typisierungsfehler 
zurück. Setze ich ein leeres Objekt auf die
Eigenschaft, bekomme ich einen SOAP Fault zurück, der besagt das ich 
dieses Objekt auf NULL setzten muß (in meinem Fall).

In der Kasse selber [führt zum Typisierungsfehler]:
...
/**
 * @var WSAccount [ <= Typ (andere Klasse) ]
 */
private $account = NULL;
...


Oder beim instanziieren [führt zum Objekt auf NULL setzen Fehler]:

public function __construct()
{
   $this->account = new WSAccount;
...

-----------------------------------
In JAVA sieht das so aus:

...
WSAccount account = null;
...
-----------------------------------

Nachmeiner Meinung ist es nicht möglich eine Variable / Instanzvariable 
zu typisieren UND diese dann aber auf NULL zu setzen.

Ich hoffe es ist dem Einen oder Anderen ein bisschen klar geworden was 
ich möchte bzw. was mein Problem ist.

Über hilfreiche Tips und Hinweise würde ich mich sehr freuen.

P.S.: Ich habe vorübergehend die WSDL Dateien geändert. Ist aber nur auf 
dem Test- und nicht auf dem Live-System des Kreditkarten-Carriers möglich.

Gruß
Björn


php::bar PHP Wiki   -   Listenarchive