У меня есть несколько классов в приложении, которое я сейчас создаю, и я хочу, чтобы один получил доступ к некоторым функциям-членам другого, но я не могу этого сделать.
Первый класс называется MySQLDB:
class MySQLDB{
public $connection;
function __construct(){
//connects to database
}
function login($username, $password){
//queries database...
}
}
Тогда у меня есть класс с именем Session:
class Session{
//variables
//constructor
function processlogin($username, $password){
$database->login($username, $password);
}
Тогда после этого у меня есть два объявления класса:
$database = new MySQLDB();
$session = new Session();
Независимо от того, куда я поместил эти утверждения относительно классов, я все равно получаю ту же ошибку:
PHP Notice: Undefined variable: database in C:\inetpub\wwwroot\cmu\include\session.php on line 52
PHP Fatal error: Call to a member function login() on a non-object in C:\inetpub\wwwroot\cmu\include\session.php on line 52
Я видел несколько предложений, которые предлагали бы поместить новый объект базы данных в объявление класса Session, но я хочу избежать этого, потому что я использую класс базы данных в нескольких других местах в коде, и я не хочу открывать несколько подключения к базе данных.