Heim >Backend-Entwicklung >PHP-Tutorial >Objektorientiertes PHP-Problem

Objektorientiertes PHP-Problem

WBOY
WBOYOriginal
2016-09-27 14:18:081206Durchsuche

<code>class testClass{

public $str_md5 = md5('fefsffa');
public static function testFunction(){

//.....
}

}
</code>

Meine Frage ist: Warum meldet die Funktion md5() einen Fehler, wenn sie wie oben gezeigt verwendet wird? ? Können die Attribute in PHP objektorientiert nicht die eigenen Methoden von PHP verwenden? ? ?

Antwortinhalt:

<code>class testClass{

public $str_md5 = md5('fefsffa');
public static function testFunction(){

//.....
}

}
</code>

Meine Frage ist: Warum meldet die Funktion md5() einen Fehler, wenn sie wie oben gezeigt verwendet wird? ? Können die Attribute in PHP objektorientiert nicht die eigenen Methoden von PHP verwenden? ? ?

Weil in der Dokumentation eindeutig angegeben ist, dass Attribute nicht auf diese Weise deklariert werden können.

http://php.net/manual/en/lang...

Sie können keine Funktionen (nur Konstanten) zur Initialisierung verwenden. Sie können $this->str_md5 in __constrct

initialisieren

Klassenattribute können nicht direkt über Funktionen zugewiesen werden.
Zum Beispiel in einer Klasse,
Klasse Eins{

<code>public $str = 'abc'; //这样没问题
public $str = md5('abc'); //使用函数赋值则会报错</code>

🎜>Sie müssen Attribute definieren, bevor Sie Werte zuweisen.

Statische Methoden können keine nicht statischen Eigenschaften aufrufen

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn