<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? ? ?
<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