Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sta ne valja u ovoj logici...

[es] :: PHP :: PHP za početnike :: sta ne valja u ovoj logici...

[ Pregleda: 1371 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milosicko
Milos Jovanovic
Nis,Srbija

Član broj: 279524
Poruke: 23
*.dynamic.isp.telekom.rs.



Profil

icon sta ne valja u ovoj logici...03.11.2011. u 23:36 - pre 151 meseci
Dakle ovako,koristim codeigniter framework za jedan projekat,i posto u njemu koristim "packages","modules (HMVC)" i "drivers" pokusao sam radi cistijeg koda da kreiram sledece instance:

Code:

$this->MODULE = $this;
$this->PACKAGE = $this;


To je da bih mogao kad u kodu napisem $this->PACKAGE->load->library('test') i kad posle pozovem $this->MODULE->test->method() da znam da je ta klasa u stvari smestena u PACKAGE a ne u APP_PATH/application/libraries... U sustini,cisto zbog preglednijeg koda.

E sad,hocu da sprecim konflikt(preklapanje) izmedju:

$this->MODULE->lib->method()
i
$this->lib->method()

tj. hocu da nekako "odvojim" instance $this i $this->MODULE ali ne znam kako...

Treba da dobijem mogucnost da uradim recimo:
Code:

$this->MODULE = $this;
$this->PACKAGE = $this;

$this->variable = "1";
$this->MODULE->variable = "2" 

print $this->MODULE->variable;
print $this->variable;

... i da dobijem razlicite rezultate.

Probao sam da umesto "$this->MODULE = $this" stavim "$this->MODULE = clone $this" pa da nakon kloniranja definisem variable nadajuci se da cu nadalje moci nesmetano da koristim te dve instance ali sve se svodi na isto,tj ne vidim razliku izmedju ta dva slucaja...

Ima li predloga? :)
 
Odgovor na temu

milosicko
Milos Jovanovic
Nis,Srbija

Član broj: 279524
Poruke: 23
*.dynamic.isp.telekom.rs.



Profil

icon Re: sta ne valja u ovoj logici...03.11.2011. u 23:50 - pre 151 meseci
Izgleda da je odgovor negde "dublje" u HMVC strukturi... Kloniranjem ipak dobijam ispravne rezultate ali za obicne promenljive dok za sve klase ucitane preko instance $this->load dobijam pogresan rezultat :(

kad ucitam library ovako:

Code:

$this->MODULE = clone $this;
$this->MODULE->load->library('lib');


i posle pozovem get_class($this->MODULE->lib) dobijam isti rezultat kao kad pozovem get_class($this->lib) sto po svoj logici nebi trebalo tako da bude :(

 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: sta ne valja u ovoj logici...

[ Pregleda: 1371 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.