Staticki property.
http://php.net/manual/en/language.oop5.static.php
Code:
class Car {
private static $CI = null;
public function __construct() {
self::$CI =& getInstace();
}
// Smesta singleton u CI promenljivu i posle je preuzima po referenci samo.
static function getInstance() {
if(!isset(self::$instance))
self::$instance = new __CLASS__;
return self:$instance;
}
}
Da je property public onda bi bilo $this <pokazivac na objekat> $this->CI =& getInstance().
Drugo pitanje za $CI = & get_instance();
Koristi se kada pravis svoju biblioteku MY_LOGIN.php npr
Zasto bi ti sada pisao novu konekciju sa bazom, sessije itd. Kada mozes sve to da koristis iz CI jezgra bez ekstendovanja.
Eo npr...
Code:
Class My_Login {
public $CI;
function __construct(){
$this->CI =& get_instance(); // Preuzeo si instacu po referenci sada mozes sa CI prpertijem da koristis sve dostupne biblioteke
// U kontrolerima si pozivao bazu sa $this pokazivacem a posto si ovde preuzeo po referenci tvoj pokazivac je $CI.
$CI->load->database(); // sto je u kontroleru $this->load->database();
// Isto tako i dispach
$CI->load->view("índex'', $data); // sto bi bilo $this->load->view("índex'', $data);
}
}
Tvoja kasa ne extenduje nista a i ne bi trebala zato sto njihov base controller u konstruktoru pravi super objekat koji instancira sve klase a na tebi je samo da ga preuzmes po referenci.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.