Home  >  Article  >  Backend Development  >  php object-oriented problem

php object-oriented problem

WBOY
WBOYOriginal
2016-09-27 14:18:081111browse

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

Reply content:

<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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn