<?php
$login1 = new Login("cam", "1234"); echo "<br>";
echo $login1->authenticate($login1->name, $login1->this->password);
class Login{
public $name;
public $password;
function Login($u, $w){
$this->name = $u;
$this->$password = $w;
}
function authenticate($name, $password){
$lookupusername = "cam";
$lookuppassword = "1234";
if($name == $lookupusername && $password == $lookuppassword){
return "Login Success";
echo "Login Success";
} else {
return "Login Fail";
echo "Login Fail";
}
}
}
?>
我是PHP的新手。我想知道为什么我的登录类中的构造函数没有将字符串文字设置为类的名称和密码属性。我尝试了一个set()方法,但也没有用。我还尝试将字符串文字指定为变量并通过引用传递它们。不。我哪里错了?
答案 0 :(得分:2)
PHP不会像Java那样构建构造函数(这是您的示例所基于的)。您将需要使用PHP的__construct
方法,如下所示:
public function __construct($u, $w) {
$this->name = $u;
$this->password = $w;
}
此外,您访问name
属性的方式是正确的,但password
不正确。使用$this->password
代替$this->$password
,$login1->password
代替$login1->this->password