kal*_*003 3 php oop variables static-functions
我尝试$this->
但无法为$first_name and $last_name
变量赋值.在不删除函数的静态功能且不将静态功能插入变量的情况下,如何回显full_name()
?这是代码:
<?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()
?>
Run Code Online (Sandbox Code Playgroud)
你不能.为什么不创建verify
一个成员函数并调用它
$user->verify();
Run Code Online (Sandbox Code Playgroud)
另一种方法是将用户传递给验证函数,如下所示:
public static function verify( $user ) {
$user->first_name = 'firstname';
$user->last_name = 'last_name';
}
Run Code Online (Sandbox Code Playgroud)
并且这样打电话:
User::verify($user)
Run Code Online (Sandbox Code Playgroud)