我試過$this->
,但是無法爲$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()
?>
你不能。靜態方法沒有上下文,所以沒有什麼可以驗證,除非你傳入一些東西。當然有解決方法..就像使你的對象成爲單例。但是在你的用戶示例中這沒有多大意義。 –