This is my USER
class for getting user data.
require_once "classes/DB.php";
class USER {
private $session_user_id = 1;
//$session_user_id = $_SESSION["user_id"];
private $user_data;
public $username;
public $first_name;
public $last_name;
public $profile_photo;
private static $instance = null;
//kthen objekt.
private function __construct() {
$db = DB::get_instance();
$query = "SELECT * FROM `users` WHERE `user_id` = $this->session_user_id";
$run_query = $db->mysqli->query($query);
$this->user_data = $run_query->fetch_assoc();
$this->username = $this->user_data["username"];
$this->first_name = $this->user_data["first_name"];
$this->last_name = $this->user_data["last_name"];
$this->profile_photo = $this->user_data["profile"];
}
public static function get_instance() {
if(!isset(self::$instance))
self::$instance = new self;
return self::$instance;
}
public function first_name() {
return $this->first_name;
}
}
$user = USER::get_instance();
Can anybody tell me which is the best method to make private properties
and to get content using a public get_name();
method like echo $user->get_last_name()
?
or to just echo property content? echo $user->last_name
.
Extra question: how can I use $_SESSION
variables inside a class? Should I pass it as a function parameter?