我试过$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()
?>
你不能。静态方法没有上下文,所以没有什么可以验证,除非你传入一些东西。当然有解决方法..就像使你的对象成为单例。但是在你的用户示例中这没有多大意义。 –