Code: Select all
class Session
{
public $username;
public function set_username($username)
{
$this->username = $username;
$_SESSION['username'] = $username;
}
}
class System
{
public $database;
public $session;
public function __construct()
{
$this->database = new Database(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$this->session = new Session();
}
}
class User extends System
{
public $username;
public function set_user($username)
{
$this->username = $username;
$this->session->set_username($username);
}
}
My messy solution is:
Code: Select all
class User
{
public $database;
public $session;
public $username;
public function __construct()
{
global $system;
$this->database = $system->database;
$this->session = $system->session;
}
public function set_user($username)
{
$this->username = $username;
$this->session->set_username($username);
}
}
The code in the global scope is:
Code: Select all
$system = new System();
$user = new User();
$user->set_user('Root');
echo $system->session->username;