Я пробовал $this->
, но не смог присвоить значение переменной $first_name and $last_name
. Не удаляя статическую функцию функции и не вставляя статическую функцию в переменные, как я могу ответить full_name()
? Вот код:Как я могу присвоить значение переменной public из статической функции в 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()
?>
Вы не можете. Статические методы не имеют никакого контекста, поэтому вам нечего проверять, если вы не передадите что-то. Возможны обходные пути, например, сделать ваш объект одноэлементным. Но это не имеет особого смысла в вашем примере пользователя. –