没有初始化对象的php方法访问意外错误

没有初始化对象的php方法访问意外错误,php,Php,我试图在php中创建user类,但在创建包含和不包含static <?php class user{ private $firstName; private $lastName; private $email; private $password; public function __construct($firstName,$lastName,$email,$password) { $this->$firstNa

我试图在
php
中创建
user
类,但在创建包含和不包含
static

<?php

class user{

    private $firstName;
    private $lastName;
    private $email;
    private $password;

    public function __construct($firstName,$lastName,$email,$password)
    {
        $this->$firstName=$firstName;
        $this->$lastName=$lastName;
        $this->$email=$email;
        $this->$password=$password;
        echo "create user";
    }

    public static function login($email,$password)
    {
        echo "login";
        if ( ! isset(self::$_instance)) {
            self::$_instance = new self();
        }

        $this->$email=$email;
        $this->$password=$password;

       /*
        login data
       */

        return self::$_instance;
    }
}

$mz= new user("mz","z","a@z.v","zxfef");
$mm= new user::login("mz","vc");
?>

对于最后一行,我得到一个错误:

分析错误:语法错误、意外的“登录”(T_字符串)、预期的变量(T_变量)或“$”

login()
是一个静态方法,因此您需要使用范围解析操作符(
)在类上直接访问它。不能将
new
与静态方法结合使用<代码>新建仅用于实例化此类的对象

$mm = user::login("mz","vc"); // remove new
login()
是一个静态方法,因此您需要使用范围解析操作符(
)在类上直接访问它。不能将
new
与静态方法结合使用<代码>新建仅用于实例化此类的对象

$mm = user::login("mz","vc"); // remove new