Home > Backend Development > PHP Tutorial > php object-oriented problem

php object-oriented problem

WBOY
Release: 2016-09-27 14:18:08
Original
1179 people have browsed it

<code>class testClass{

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

//.....
}

}
</code>
Copy after login
Copy after login

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>
Copy after login
Copy after login

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>
Copy after login

}
You need to define attributes before assigning values.

Static methods cannot call non-static properties

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template