Seite 1 von 1

Externer Klassenzugriff

Verfasst: 08.07.2009 11:09
von RaisedFist
Hallo Leute =)
ich bräuchte mal dringend eure Hilfe in PHP. Ich habe eine Klassendatei gehabt in der einige Funktionen und die Main
drin stand. Jetzt wollte ich aus dieser Klasse jeweils zwei erstellen. Das heißt.. zwei Funktionen der alten
Klasse sollen aus dieser herausgenommen werden und in die neue Klasse eingefügt werden.
Trotzdem soll die Main nachwievor auf diese Funktionen zugreifen können. In meiner alten klasse habe ich
die Funktionen einfach mit: $this -> callWebservice($post['gpnummer'], $ignoreClosed).... aufgerufen..
Jetzt stehen diese Funktionen aber extern in einer neuen klasse(neue datei), wodurch ein zugriff mit diesem Befehl nicht möglich ist.(Anmerkung: die dateien liegen im selben Verzeichnis!)
Jetzt habe ich mit require_once die neue Klasse eingebunden, was auch zu funktionieren scheint... Das Problem ist
halt jetzt nur, wie ich in der Main den Zugriff auf die neue Klasse herstelle (Funktionsaufruf).
Wäre echt toll von euch, wenn mir einer dabei helfen könnte!!
Vielen Dank schoneinmal im vorraus! :)

LG

Re: Externer Klassenzugriff

Verfasst: 08.07.2009 18:54
von Pyramide
Kannst du mal den Code zeigen, damit man sich das besser vorstellen kann?

Re: Externer Klassenzugriff

Verfasst: 08.07.2009 20:21
von DerPate
RaisedFist hat geschrieben:In meiner alten klasse habe ich
die Funktionen einfach mit: $this -> callWebservice($post['gpnummer'], $ignoreClosed).... aufgerufen..
Jetzt stehen diese Funktionen aber extern in einer neuen klasse(neue datei), wodurch ein zugriff mit diesem Befehl nicht möglich ist.
Wie Pyramide schreibt wäres mit Code einfacher :)

require_once lädt erstmal nur die Datei, so dass ein zugriff möglich ist ...

Ganz allgemein ... entweder sowas wie

Code: Alles auswählen

neueklasse::callWebservice($post['gpnummer'], $ignoreClosed);
oder

Code: Alles auswählen

$neu_klasse = new neueklasse();
$neu_klasse->callWebservice($post['gpnummer'], $ignoreClosed);
oder seit php 5.3 (heute zufällig drüber gestolpert)

Code: Alles auswählen

$neue_klasse = 'neueklasse';
$neue_klasse::callWebservice($post['gpnummer'], $ignoreClosed);
... jenachdem wies drumherum aussieht ...

Mfg