我的 index.php 包含以下内容:
include_once('includes/auth.php');
include_once('classes/class.DatabaseQuery.php');
include_once('classes/class.Project.php');
include_once('classes/class.User.php');
$project = new Project();
$user = new User();
// HTML, HEAD, BODY
$usergroup = $user->getUserGroup($_SESSION['user']);
// ...
所以我在index.php中包含了所有需要的类。我还在这个文件中创建了一个类的实例。然后我有我的班级文件(例如 class.Project ):
class Project {
private $db;
private $evaluation;
public function __construct($id=null){
$this->setPreferences();
}
private function setPreferences() {
$this->db = new DatabaseQuery();
$this->evaluation = new Evaluation();
}
public function getSomething(){
if($this->evaluation->checkSomething(1)){
echo "test";
}
}
// ...
}
在这些文件中,我将其他类声明为私有变量。比我访问其他类的方法。
在其他类中包含和使用私有变量是否存在任何问题?
现在我有一个奇怪的问题。如果我将值写入$_SESSION['user']
,我的私有变量user
将被覆盖。在我在会话中写入内容之前,会话值已经填充。这是我的 login.php :
include_once('classes/class.User.php');
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
$user = new User();
if ($user->checkLoginData($username, $password)) {
$_SESSION['userID'] = $user->getUserIDForName($username);
// it is an object
var_dump($user);
$_SESSION['user'] = $username;
// it is a string
var_dump($user);
// ...
}
$_SESSION['user']=$username
如何更改本地变量$user
的内容?也许你有一些想法,我做错了。
答案 0 :(得分:0)