我一直在寻找一种面向对象的用户系统的方法,但我找不到任何可以回答我问题的教程。我真的不关心代码的东西,我以后可以这样做,但是 OOP 的逻辑真的让我很生气(哦,我是 OOP 的新手,我忘了提)。
如果我有一个带有用户的 mysql 数据库,以及一个带有两个类的 php 文件,一个 dbmanager 和一个用户类,可以在用户类中使用 dbmanager 的方法吗?
如果没有,我应该如何使用户类和数据库类相互交互?
谢谢
- -编辑 - -
这种方法对吗?例如,使用扩展类有什么好处?
class db{
function checkUser($login, $password){
$password = sha1(md5($password)); //encrypt password
$query = "SELECT * FROM users WHERE (login='$login' OR email='$login')";
$result = mysql_query($query);
if ($user = mysql_fetch_assoc($result)) {
if ($user["password"] == $password) {
//there's a user class somwhere else
$checkeduser = new user($user);
return $checkeduser;
} else return true; //bad password
} else return false; //user not registered
}
$user = $dbconnection->checkUser($login, $password); //encrypted password
if(is_object($user)) { //if logs in
$_SESSION["user"] = serialize($user);
header("Location:index.php"); //go to home
}