Tach!
Mein Fehler ist, dass ich von Deklaration geschrieben hab, obwohl Instanzieren gemeint hab.
Und du schriebst so, als ob du nur einen Fehler meintest - den der dann auch zur Meldung führt. Stattdessen meinst du aber einen anderen, der aber vielleicht nur ein potentieller oder gar keiner ist.
Die Deklaration wird durch include_once() verhindert, die Instanzierung aber nicht.
OK, dann bleibt also noch, dass das Whois-Objekt mehrfach instantiiert wird. Das kann man sich eventuell sparen, und von dem einen die Lookup-Methode mehrfach aufrufen. Dazu müsste man aber noch eine Menge mehr Overhead hinzufügen, um den jetzt in einer Funktion steckenden Aufruf ordentlich zusammen mit der Instanz und dem Instantiier-Code in eine Klasse stecken. Oder man schleppt übergibt das Whois-Objekt bei jedem Funktionsaufruf aus einer Variable im globalen Scope. Auch nicht wahnsinnig prickelnd.
Weil mir der Code der Klasse nicht bekannt ist, weiß ich auch nicht, wieviel Overhead das wirklich ist und was da für Fehler auftreten können. Vermutlich ist das bisschen überflüssige Instantiieren im praktischen Betrieb vernachlässigbar. So viele Whois-Anfragen, dass das relevant werden könnte, lassen die Datenquellen schon gar nicht mehr zu.
dedlfix.