我现在基本上有3个重要的文件。我想在LOGIN类中使用DB类中的函数。这些是我的文件。我尝试包含DB类,但是我会声明它两次,这是你不能做的。
- index.php -显示内容--
<?php
session_start();
include './libs/database.php';
$mysql = new Database();
include './libs/login.php';
$login = new Login();
$mysql->connect("---", "user", "pass");
$mysql->usedatabase("db");
?>
<!DOCTYPE html>
<html>
<body>
<div id="wrapper">
CONTENT GOES HERE
</div>
</body>
</html>
---
---login.php ---
class Login{
public function isLoggedIn(){
if(isset($_SESSION['user_id'])){
return true;
}else{
return false;
}
}
public function UserLogin($email,$password){
// login function
$DB->selectwhere(...);
}
public function securePassword($pass){
$pass = md5($pass);
return $pass;
}
}
---
--- database.php ---
class Database{
//Database Functions
}发布于 2012-08-30 09:12:30
使Login中的securePassword()函数成为静态函数,这样就可以在没有Login类实例的情况下调用它。
Login::securePassword()
发布于 2012-08-30 01:30:50
研究一下PHP的“自动加载”功能。实际上,只有在堆中不存在类时,才能按需查找这些类。
发布于 2012-08-30 01:35:07
将数据库类移动到文件Database.php。在index.php的顶部,使用require_once('Database.php');来包含数据库类。然后将UserLogin()函数更改为:
public function UserLogin($email,$password){
// login function
$DB = new Database;
$DB->selectwhere(...);
}https://stackoverflow.com/questions/12183325
复制相似问题