PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist (http://www.selfphp.de/forum/showthread.php?t=23667)

nostromo 13.10.2010 19:25:37

Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
Moin moin,

wie die Überschift schon sagt: Ich habe eine Funktion, die ein Argument übergeben kriegt. Dieses sollte eigentlich immer (je nachdem ob man dom_xml oder dom verwendet) ein dom_node bzw. ein DomElement sein.

Ich stelle aber fest, dass es nützlich wäre, den Fall abzufangen, dass es sich bei dem übergebenen Argument eben nicht um einen solchen Node handelt. Allerdings möchte ich nicht absichtlich fatale Fehler oder Notices schmeissen. Was ich suche ist so was wie

Pseudocode:
PHP-Code:

if (is_dom_node($myvar)){
...
}
else {
...


Konnte sowas aber nicht entdecken. Wenn mir jemand die Tomaten von den Augen entfernen würde, würde ich mich sehr freuen. Ich habe weder im Forum was gefunden, noch bei Dr. Google. Wenn das ein triviales Problem ist, Schmutz und Dreck und kleine Steine über mich, aber für die Lösung wäre ich trotzdem sehr dankbar.

Danke für Eure Mühe!

Nostromo

DokuLeseHemmung 13.10.2010 20:06:26

AW: Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
Bevorzugt: http://de3.php.net/manual/de/languag...ypehinting.php
Notfalls auch: http://de3.php.net/manual/de/languag...ators.type.php

nostromo 14.10.2010 14:46:01

AW: Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
Danke für die Hinweise, ich war nicht darauf gekommen, an diesen Stellen der Doku zu suchen.

Kurze Frage: Warum ist die erste Möglichkeit zu bevorzugen? Ich würde mich eigentlich lieber an die zweite halten, weil es diese Funktionalität etwa analog sowohl in PHP4 als auch in PHP5 gibt, während das Erzwingen eines Typs anscheinend nur in PHP5 geht.

Werde mal ein paar Tests machen und mich dann wieder melden. Bis dahin erst mal vielen Dank!

Nostromo

DokuLeseHemmung 14.10.2010 14:58:28

AW: Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
PHP4 ist tot.
Und, naja, auf Tote braucht man keine Rücksicht mehr zu nehmen.

Zitat:

Warum ist die erste Möglichkeit zu bevorzugen?
Klare Schnittstellen! Wird auch von modernen IDEs und Dokumentationsgeneratoren unterstützt.
Die Objekte brauchen weniger "magischen" Code.


PS:
Die PHP4 DOM Implementierung ist unbequem. Die PHP5 Variante erheblich moderner. Da wirst du dich sowieso festlegen dürfen.

nostromo 14.10.2010 17:28:53

AW: Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
Zitat:

Zitat von DokuLeseHemmung (Beitrag 138513)
PHP4 ist tot.
Und, naja, auf Tote braucht man keine Rücksicht mehr zu nehmen.

Ja wenns nach mir ginge... aber Totgesagte leben eben doch länger. Und wenn der Provider des Kunden seinen Unglaublichextremgünstigtarif nur mit PHP4 anbietet (ja, das gibts wirklich), schreibt man halt Skripte, die sich ohne allzu großen Umschreibe-Aufwand in beiden Versionen einsetzen lassen.

Zitat:

Zitat von DokuLeseHemmung (Beitrag 138513)
Die PHP4 DOM Implementierung ist unbequem. Die PHP5 Variante erheblich moderner.

Da sprichst Du ein großes Wort gelassen aus. Ich würde ja auch gerne umschwenken, aber Murphys Golden Rule ist gegen mich: whoever has the gold, makes the rules.

Dir jedenfalls nochmals danke für die schnelle Hilfe, ich melde mich nach erfolgter Testerei nochmal.

Nostromo

DokuLeseHemmung 14.10.2010 18:23:33

AW: Übergebenes Argument darauf überprüfen ob es ein dom_node bzw. DomElement ist
 
Zitat:

whoever has the gold, makes the rule
Ich kenn das anders:
"Der Fisch fängt am Kopf an zu stinken!"

Sorry, wer heute noch meint auf PHP4 setzen zu müssen ist auf einem falschen Dampfer.
Erstmal der Provider!
Dann der Auftraggeber, welcher auf diesen Provider beharrt.

Wobei:
Wenn man den Provider fragen würde, dann sagt er:
"Leck mich doch! Den Scheiß unterstütze ich doch nur wegen euren dullen Anforderungen!"
(oder er gehört 14 Tage auf die nächstgelegene Streckbank )


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:16:13 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.