php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.06.2006, 20:20  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 168
PHP-Kenntnisse:
Anfänger
GELight zeigte ein beschämendes Verhalten in der Vergangenheit
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard methode in klasse aus einer anderen starten

Hallo alle zusammen,

Ich habe eine kleine Klasse mit 2 Methoden und 1 Konstruktor.
Ich möchte in der funktion 2 die funktion 1 aufrufen.

Er bringt mir aber einen Fehler:
Fatal error: Call to undefined function: funktion1() in /homepages/8/d23637......... ... xyz.php on line 72

... es sind aber beide Funktionen vorhanden.

Was mach ich denn falsch?

Mario
GELight ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.06.2006, 20:24  
Gast
 
Beiträge: n/a
Standard

Vielleicht $this vergessen?
Vielleicht auch nicht. Ohne Code schwer zu sagen.
 
Alt 01.06.2006, 20:25  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von GELight
... es sind aber beide Funktionen vorhanden.
Nicht vielleicht beide Methoden?

http://php.net/oop
http://php.net/oop5
 
Alt 01.06.2006, 20:42  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 168
PHP-Kenntnisse:
Anfänger
GELight zeigte ein beschämendes Verhalten in der Vergangenheit
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard

Jop... natürlich meinte ich doch die Methoden in der Klasse.
Sind ja am Ende auch "nur" Klassen... nur halt in der CLASS.

Jetzt scheints zu gehen. Es lag am fehlenden $this-> vor meinem Funktionsaufruf.

Mario
GELight ist offline  
Alt 01.06.2006, 23:29  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Jetzt scheints zu gehen. Es lag am fehlenden $this-> vor meinem Funktionsaufruf.
Genau das macht die scheinbare kleinkarierte Unterscheidung zwischen Methoden und Funktionen wichtig
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 02.06.2006, 00:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

und mal wieder stand der Fehler wort-wörtlich in der Fehlermeldung
Zergling-new ist offline  
Alt 02.06.2006, 11:18  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 168
PHP-Kenntnisse:
Anfänger
GELight zeigte ein beschämendes Verhalten in der Vergangenheit
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard

...Call to undefined function: funktion1() ....

Naja... so wörtlich wars aber nun nicht.
Hier steht nur, dass die Funktion, die ich aufrufen wollte nicht definiert wäre.
Sie war ja aber definiert. Ich hab sie nur falsch angesprochen.

Ich vermute, da ich das $this-> vergessen habe, wollte er diese Function außerhalb der Klassse aufrufen. Und da ist sie natürlich nicht vorhanden gewesen. Von der Sicht aus stimmt die Meldung wieder.

Mario
GELight ist offline  
Alt 02.06.2006, 11:32  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Ne, tut mir leid, dann hast du es nicht verstanden. Die Funktion war wirklich nicht definiert, weil es innerhalb der Klasse keine Funktion ist, sondern eine Methode. Ergo: Wort-wörtlich! Wenn du allerdings versuchst eine nicht-vorhandene Methode aufzurufen, sieht die Fehlermeldung schon ein wenig kryptischer aus.
Zitat:
Fatal Error: Using $this when not in object context in ...
Funktion: Definiert im globalen Geltungsbereich. Wirfst was rein, kommt was raus.
Methoden: Definiert innerhalb der Klasse/Objekt. Wirfst was rein, kommt was raus, was aber abhängig sein kann, von der Klasse/Objekt selbst.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 03.06.2006, 00:41  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 168
PHP-Kenntnisse:
Anfänger
GELight zeigte ein beschämendes Verhalten in der Vergangenheit
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard

Okay... verstehe.
Also ich weiß, dass man IN einer Klasse immer nur von Methoden spricht.
Und diese "müssen" sozusagen mit $this-> angesprochen werden... korrekt?
Somit war meine Fehlermeldung schon richtig so... stimmt schon.

Mario
GELight ist offline  
Alt 03.06.2006, 01:39  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Funktionen einer Klasse sind Methoden
Variablen einer Klasse sind Eigenschaften
Variablen innerhalb von Methoden aber sind Variablen ^^

Es geht darum, wodurch die Klasse repräsentiert wird. Die Klasse wird eindeutig definiert, welche Methoden und Eigenschaften sie besitzt. Wie genau sie dabei aussehen ist zweitrangig.

Nen nettes Beispiel, was ich ma irgendwo gehört habe:
Stell dir die Klasse vor als eine Art Blaupause. Diese Blaupause handelt von einem Auto. Die Methode, die diese Klasse besitzt heißt "fahren". Ohne die Klasse an sich, also als Funktion, ergibt "fahren" keinen Sinn.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
zentrale Klasse für Datenbankanbindung Crypi PHP Tipps 2008 4 01.07.2008 11:13
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
Ermitteln ob Methode geerbt wurde oder nicht? MaMo-Net PHP Tipps 2007 23 14.04.2007 00:28
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
Auf static Methode von variabler Klasse zugreifen Riks PHP Tipps 2007 11 16.03.2007 15:08
PHP 5 : Methode außerhalb der Klasse definieren Unknown PHP Tipps 2006 9 23.05.2006 11:31
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
problem mit einer methode in einer klasse PHP Tipps 2007 4 18.12.2005 16:14
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
PHP5: Klassenattribut für statische Methode, mit Vererbung PHP-Fortgeschrittene 9 24.05.2005 09:35
Methode aus einer anderen Methode aufrufen PHP Tipps 2005 3 02.03.2005 10:07
Klasse holt sich die Klasse PHP-Fortgeschrittene 9 07.10.2004 11:53
OOP: offizielle php funktion als methode einer klasse ... PHP Tipps 2004 4 17.09.2004 04:24
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php methode ausführen, methode nur ausführen php, klasse ausführen von einer anderen page php, methode einer klasse in einer anderen, php class methode in anderer methode, funktion einer anderen class aufrufen php, funktion einer klasse ausserhalb ausführen php, methoden starten php, methode aus anderer class ausführen, php klassen öfters öffnen, php bestehende klasse in klasse einbinden, variablen einer klasse in einer anderen ausführen, methoden anderer klasse ausführen, eine klasse in einer anderen starten, php alle methoden einer anderen klasse ausführen, klasse starten php, methoden aus anderen klassen starten, mit einer klasse eine andere klasse ausführen, mehrere methoden in einer klasse, using $this when not in object context

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.