<?php
class Auth
{
private $id;
private $name;
private $surname;
private $groupID;
private $groupName;
public function __construct()
{
// To spowoduje utworzenie NOWEJ instancji klasy Auth
// Tymczasem chcę, aby własności obiektu zostały rozpakowane
// Do bieżącej instancji klasy Auth, czyli $this
}
public function isLoggedIn(){}
public function login($login, $pass)
{
$pdo->query()->fetch(PDO::FETCH_INTO, $this);
//jeśli dane się zgadzają, trzeba zapisać je do sesji
}
}
// 1. W pliku index.php tworzę tylko instancję klasy Auth
$auth = new Auth;
// 2. Klasa wykrywa zalogowanego użytkownika sama
// 3. W pliku index.php sprawdzam to tak:
if($auth->isLoggedIn())
{
/* jest OK */
}
else
{
/* musisz zalogować się */
}
// 4. Podstrona logowania ma po prostu wywołać metodę
if($auth->login($login, $pass)) {} else {}
// 5. Metoda login() zapisuje użytkownika w celu ponownego użycia w kolejnych żądaniach
Jak rozpakować obiekt, aby nie tworzyć nowej instancji klasy, lecz uaktualnić istniejącą już instancję? Może jest inny sposób, aby kod działał wg powyższych zasad?