<code>class testClass{ public $str_md5 = md5('fefsffa'); public static function testFunction(){ //..... } } </code>
제 질문은: 위에 표시된 것처럼 md5() 함수를 사용할 때 오류를 보고하는 이유는 무엇입니까? ? PHP 객체지향의 속성은 PHP 자체 메소드를 사용할 수 없나요? ? ?
<code>class testClass{ public $str_md5 = md5('fefsffa'); public static function testFunction(){ //..... } } </code>
내 질문은: 위와 같이 사용할 때 md5() 함수가 오류를 보고하는 이유는 무엇입니까? ? PHP 객체지향의 속성은 PHP 자체 메소드를 사용할 수 없나요? ? ?
문서에 이런 방식으로 속성을 선언할 수 없다고 명시되어 있기 때문입니다.
http://php.net/manual/en/lang...
초기화에는 함수(상수만)를 사용할 수 없습니다. __constrct에서 $this->str_md5를 초기화할 수 있습니다.
클래스 속성은 함수를 사용하여 직접 할당할 수 없습니다.
예를 들어 수업의 경우
1학년{
<code>public $str = 'abc'; //这样没问题 public $str = md5('abc'); //使用函数赋值则会报错</code>
}
값을 할당하기 전에 속성을 정의해야 합니다.
정적 메서드는 비정적 속성을 호출할 수 없습니다