PHP-Klasse; Notice: Undefined property-Fehler
bevor ich meine Frage, ich möchte sagen, dass ich suchte für diese Frage, und keine der anderen Antworten geholfen...
Grundsätzlich in meiner Klasse DemoClass
habe ich 4 Funktionen, und alle von Ihnen sind "undefined " Eigenschaften"
Mein Fehler:
Notice: Undefined property: DemoClass::$ - Funktion in /home/content/92/10270192/html/class.php auf der Linie 46
Hinweis: die Zeile 46 ist wo ich die $demoClass->Funktion...
Habe ich eine typische Klasse setup:
class DemoClass {
public function __construct () {
//stuff that works and gets called
}
public function testFunct () {
//one that is an "undefined property"
}
}
Ich auf die Klasse als normal:
$testClass = new DemoClass();
var_dump(testClass->testFunct); //this is what is on line 46
//^^^ This also gives me NULL, because its undefined (? i guess...)
Hatte ich noch nie dieses problem vor, irgendwelche Vorschläge? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Klammern erforderlich sind, wenn Sie eine Funktion aufrufen. Ändern Sie es zu
$testClass->testFunct()
statt.$testClass
(dollar-Zeichen-Präfix)$testClass->testFunct
eine variable referenzierttestFunct
in der Klasse. Sie benötigen$testClass->testFunct()
zum Verweis auf eine Funktion in der Klasse.Sollte es
Einer Funktion muss immer die Klammern als sonst (wie man sehen kann) man kann nicht sagen, der Unterschied zwischen einer Funktion und einer Konstanten.
Im Gegensatz zu beispielsweise JavaScript, PHP ist nicht die Handhabung Klasse Methoden als reguläre Eigenschaften.
Wenn Sie
$testClass->testFunct
PHP sieht für ein Eigenschaft namenstestFunct
- und keine findet.Methoden verwiesen werden kann durch Klassenname
DemoClass::testFunct
in Ihrem Fall.DemoClass::testFunct
erfordert die Methodestatic
.