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

Problem sa router klasom

[es] :: PHP :: Problem sa router klasom

[ Pregleda: 1701 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
178.22.216.*



+34 Profil

icon Problem sa router klasom27.05.2010. u 15:25 - pre 169 meseci
Imam svoj mvc pattern i klasu router koja treba da generise SEO url-ove, ali i da isti protumaci i pozove odredjeni kontroler. E sad problem;

u kontroloru, ako mi treba skok na neku stranicu, koristim ga ovako:
Code:

header('Location:' . $this->router->find('myalbums')->call('view', 'vesti-sa-farme') ;


Sto bi izazvalo skok na http://site.com/myalbums/view/vesti-sa-farme.html ; ovo je samo primer. myalbums je kontroler klasa a view je metoda. Tj. skok na tu stranicu startovace myalbums::view('vesti-sa-farme').

Ko sto rekoh, ja sam lencuga i mnogo volim code-completition koji bi mi sugerisao sta treba da posaljem (npr. slug ili id). Da li postoji nacin da uradim ovako nesto:

Code:

header('Location' . $this->router->call(  myalbums::view('vesti-sa-farme') ) ;  


Ovo znam da je nemoguce jer ce call() da dobije rezultat od "myalbums::view('vesti-sa-farme')" koji mi nista ne znaci, stavio sam kao ideju da bi ste lakse razumeli sta hocu.

Palo mi na pamet da nakon sto ukucam ovo 'myalbums....' posle sve to umotam u navodnike; dok to ne uradim, imam code-completition i vidim koje sve metode myalbums ima i koji parametar treba da posaljem. Ali ni ovo resenje mi se nesto bas ne svidja.

Ima li neko drugaciju i bolju ideju? Kako se slicna stvar radi u frameworc-ima tipa zend, symfony, cake itd...?

Druga stvar:
router moze da se koristi i na sledeci nacin:
$this->router->myalbums->view('vesti-sa-farme') ;

koje ce takodje dati http://site.com/myalbums/view/vesti-sa-farme.html

Za ovo sam koristio __get i __call magic metode. E sad problem; kad ukucam:

$this->router....

pored find() i call() dobijam u code-completition bloku i __get() i __call() metode jer su one takodje public. Ako ih stavim kao protected, sve radi, nikakvih problema nema. Muci me sledece: na php.net sajtu, stoji da overloading metode moraju biti public. Ali one rade cak i kad su protected. Da li je neko imao problema sa ovim?




 
Odgovor na temu

[es] :: PHP :: Problem sa router klasom

[ Pregleda: 1701 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

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