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

php object-oriented problem

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-09-27 14:18:08
Original
1214 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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template