Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Codeigniter Razlika izmedju self::$CI = & get_instance(); I $CI = & get_instance();

  • 3 odgovora
  • 4.454 pregleda

Najnovija ↓

Re: Codeigniter Razlika izmedju self::$CI = & get_instance(); I $CI = & get_instance(); 30.07.2013. u 09:38 · pre 161 mesec #2
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.
Potpis
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.
Re: Codeigniter Razlika izmedju self::$CI = & get_instance(); I $CI = & get_instance(); 31.07.2013. u 22:06 · pre 161 mesec #4
@alfa-pro

Mozes li malo objasniti u kojim se konkretnijim primerima i za sta npr. koristi staticki property?
Za public property mi je jasno jer sam vec radio sa pagination,

Code:
$this->CI = &get_instance();

$config['total_rows'] = $this->CI->db->get('database')->num_rows();


Hvala unapred.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme