phpbar.de logo

Mailinglisten-Archive

AW: [php] Klassen

AW: [php] Klassen

David Soria php_(at)_phpcenter.de
Tue, 18 Jun 2002 14:19:58 +0200


> Hallo,

Hi

> ich habe eine Klasse in welcher ich eine Verbindung zu einer
> DB herstellen
> möchte. Sollte die Verbindung fehlerhaft sein soll die Klasse nicht
> initiiert werden.
>
> $ora = new oracle();
>
> class oracle {
>   var $oraid;
>
>   function oracle() {
>      $this->oraid=ociplogon(...);
>   }
> }
>
> Wenn die Verbindung nicht zu stande kommt soll $ora =
> false/null sein. Ist
> sowas möglich? Im Moment löse ich das Problem indem ich die Funktion
> "oracle()" "connect()" nenne und gesondert durch
> $ora->connect() aufrufe,
> wobei die Funktion true/false zurückliefert.

Ich denke nicht das es geht, denn schließlich initiiert php das objekt
schon durch den aufruf (new oracle()), dann werden erst die methoden
aufgerufen. Ich denke es geht nicht.
Man könnte es aber so machen (untested):

Class oracle {
	var $oraid;

	function init () {
		if ($oraid = ociplogon(....)) {
			$obj = new oracle;
			$obj->oraid = $oraid;

			return $obj;
		}
	}
}

$ora = oracle::init();

Ora müsste dann ein das objekt zurückgeben wenn der login korrekt war.
Hoffe es funzt

Cya
david


php::bar PHP Wiki   -   Listenarchive