欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 面向对象的问题

程序员文章站 2022-04-06 08:56:56
...
class testClass{

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

//.....
}

}

我的问题是: md5()函数 如上所示使用 为什么会报错?? php 面向对象 中 属性不能用 php自带的方法吗???

回复内容:

class testClass{

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

//.....
}

}

我的问题是: md5()函数 如上所示使用 为什么会报错?? php 面向对象 中 属性不能用 php自带的方法吗???

因为文档就明确规定不能这样声明属性。

http://php.net/manual/en/lang...

初始化不可以用函数的(只能用常量),你可以在__constrct里面对$this->str_md5初始化

类的属性不可以直接使用函数赋值吧。
例如在类中,
class One{

public $str = 'abc'; //这样没问题
public $str = md5('abc'); //使用函数赋值则会报错

}
需要定义属性后,再进行赋值。

静态方法不能调用非静态属性

相关标签: php