我有三个文件:
main.php(所有站点代码)AccountHandler.class.php(处理登录/注销/获取acc详细信息)user .class.php(普通对象,通用用户特征的getter和setter)
在AccountHandler中的'login'函数中,它检查密码是否正确,然后返回该帐户的文件详细信息。然后,我希望实例化一个'User'对象,并用这些细节填充它,并从函数返回所述对象。
然而,在另一端,在main.php中,函数最初被调用,我需要能够识别'User'对象并访问其值。
我怎么能包括用户类文件在两个AccountHandler类和main.php,这样他们都可以使用"用户"类?
这些有意义吗?
class User
{
private $email;
private $username;
private $role;
public function __construct($email, $username, $role)
{
$this->setUsername($username);
$this->setEmail($email);
$this->setRole($role);
}
public function getEmail(){
return $this->email;
}
public function setEmail($email){
$this->email = $email;
}
public function getUsername(){
return $this->username;
}
public function setUsername($username){
$this->username = $username;
}
public function getRole(){
return $this->role;
}
public function setRole($role){
$this->role = $role;
}
}
通过创建资源对象,您可以通过引用传递对象。
下面是一些示例代码。
Main.php
$resources = new stdClass;
$account = new account($resources);
$account->checkAccount();
if(isset($resources->user)){
var_dump($resources->user);
}
Account类
class account{
private $resources;
private $loginSuccess = false;
public function __construct($resources){
$this->resources = $resources;
}
public function checkAccount(){
if($this->loginSuccess){
$this->resources->user = new user($email, $username, $role);
}
}
}
您可能也会发现这很有用
原来我可以使用autoload:
spl_autoload_register('autoloader');
function autoloader($classname) {
include_once 'php/includes/' . $classname . '.class.php';
}
在main.php的顶部,实例化AccountHandler并在其中使用User类,并自动包含所有内容!谢谢所有。