Na primer ja u index.php imam objekat $FC i $cfg ($FC je front kontroler a $cfg je instanca koja mi ucitava cofiguracionu klasu sa podesavanjima).
spl_autoload_register('Loader::autoloader');
spl_autoload_register('Loader::Config');
$FC = new FrontController();
$cfg = new BaseConfig();
E sada ja imam LOG klasu koju sam pravio i koja u konstruktoru zahteva da joj definisem putanju log fajla, format datuma, ime i ekstenziju.
Evo kako izgleda konstruktor moj LOg klase:
public function __construct()
{
if ($this->get_status() == true) {
// Configuration
$this->set_path('logs/'); // Directory name <full path>
$this->set_date_format('Y-m-d'); // Date format
$this->set_extension('.txt'); // Log file extension
$this->set_mode('a'); // Writig mode
$this->set_prefix('log_'); // File name prefix example(log_2012-06-26)
}
Log::log_message('debug','Log class initialized');
}
Sta ja zelim sada: Vidite ovo $this->set_path('logs/'); e umesto tog 'logs/' da pozovem property bez ponovnog kreiranja $cfg objekta.
Ovako nesto:
public function __construct()
{
if ($this->get_status() == true) {
// Configuration
$this->set_path($cfg->logPath); // Directory name <full path>
$this->set_date_format($cfg->logDateFormat); // Date format
$this->set_extension($cfg->logExtension); // Log file extension
$this->set_mode($cfg->logMode); // Writig mode
$this->set_prefix($cfg->logPrefix); // File name prefix example(log_2012-06-26)
}
Log::log_message('debug','Log class initialized');
}
Ali da nemoram da u konstruktori dodajem $cfg = new BaseCOnfig();
Kako da izvedem da samo na jednom mestu napravim instancu i da taj objekat bude dostupan u svim mojim ostalim klasama da nemoram stalno da kreiram nove instance...
Hvala
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.