을 시도했지만 변수에 $first_name and $last_name
값을 할당 할 수 없습니다. 함수의 정적 피쳐를 제거하지 않고 변수에 정적 피쳐를 삽입하지 않고 어떻게 full_name()
을 반향시킬 수 있습니까? 코드는 다음과 같습니다.어떻게 PHP에서 정적 함수 내부에서 공용 변수에 값을 할당 할 수 있습니까?
<?php
class User {
public $first_name;
public $last_name;
public function full_name() {
if(isset($this->first_name) && isset($this->last_name)) {
return $this->first_name . " " . $this->last_name;
} else {
return "No name!";
}
}
public static function verify() {
$this->first_name = "firstname";
$this->last_name = "last_name";
}
}
$user = new User();
User::verify();
echo $user->full_name()
?>
수 없습니다. 정적 메서드에는 컨텍스트가 없으므로 무언가를 전달하지 않으면 유효성을 검사 할 수있는 것이 없습니다. 당연히 객체를 싱글 톤으로 만드는 것과 같은 해결 방법이 있습니다. 하지만 그것은 사용자 예제에서별로 의미가 없습니다. –