<code>class testClass{ public $str_md5 = md5('fefsffa'); public static function testFunction(){ //..... } } </code>
My question is: Why does the md5() function report an error when used as shown above? ? Can't the attributes in PHP object-oriented use PHP's own methods? ? ?
<code>class testClass{ public $str_md5 = md5('fefsffa'); public static function testFunction(){ //..... } } </code>
My question is: Why does the md5() function report an error when used as shown above? ? Can't the attributes in PHP object-oriented use PHP's own methods? ? ?
Because the documentation clearly stipulates that attributes cannot be declared in this way.
http://php.net/manual/en/lang...
You cannot use functions for initialization (only constants). You can initialize $this->str_md5 in __constrct
Class attributes cannot be directly assigned using functions.
For example in a class,
class One{
<code>public $str = 'abc'; //这样没问题 public $str = md5('abc'); //使用函数赋值则会报错</code>
}
You need to define attributes before assigning values.
Static methods cannot call non-static properties