PHP 如何从其他页面调用构造函数
How to call Constructors from other Pages in PHP
我正在尝试从位于另一个 PHP 文件中的 class 调用一个对象,如下所示:
Login.php
$user = new LoginClass($usernameEntered); //where usernameEntered is just some form data that was submitted
$user->login();
echo "User: " .$user->getUser();
和class:
class LoginClass
{
private $theUser="Default";
public function _construct($user)
{
$this->theUser=$user;
}
public function login()
{
// $this->theUser=$user;
echo "I am in login with ". $this->theUser;
session_start();
$_SESSION["user"] = serialize($this);
setcookie("user",$this->theUser,time() + (86400 * 30));
}
public function logout()
{
session_destroy();
}
public function getUser()
{
return $this->theUser;
}
}
我遇到的奇怪问题是,如果我移动 $this->theUser=$user;对于登录方法,一切正常,但是如果我按原样保留代码,Login.php 似乎永远不会调用构造函数并且永远不会设置 $theUser 变量(即打印出 "Default")。有没有其他方法我应该调用 class 构造函数以便我可以在构造函数中设置这些值?
您漏掉了 1 个下划线!
是__construct()
不是_construct()
!
我正在尝试从位于另一个 PHP 文件中的 class 调用一个对象,如下所示:
Login.php
$user = new LoginClass($usernameEntered); //where usernameEntered is just some form data that was submitted
$user->login();
echo "User: " .$user->getUser();
和class:
class LoginClass
{
private $theUser="Default";
public function _construct($user)
{
$this->theUser=$user;
}
public function login()
{
// $this->theUser=$user;
echo "I am in login with ". $this->theUser;
session_start();
$_SESSION["user"] = serialize($this);
setcookie("user",$this->theUser,time() + (86400 * 30));
}
public function logout()
{
session_destroy();
}
public function getUser()
{
return $this->theUser;
}
}
我遇到的奇怪问题是,如果我移动 $this->theUser=$user;对于登录方法,一切正常,但是如果我按原样保留代码,Login.php 似乎永远不会调用构造函数并且永远不会设置 $theUser 变量(即打印出 "Default")。有没有其他方法我应该调用 class 构造函数以便我可以在构造函数中设置这些值?
您漏掉了 1 个下划线!
是__construct()
不是_construct()
!