没有初始化对象的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