如何从php中的静态函数内部为公共变量赋值?

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)

Eri*_*lje 7

你不能.为什么不创建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)