Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Framework, MVC, Router, Pomysl na wykonanie przekierowania na inna akcje
Prph
post
Post #1





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam,

Powiem z gory, ze nic mi do glowy nie przyszlo przegladajac Mojavi i ZendFramework.

Obecna sytuacja przypomina troche Zend Framework.

Przychodzi żądanie HTTP. Router jest odpowiedzialny za wiciagniecie z niego informacji (jaka akcja, jakie parametry). Nastepnie tworzy token, ktory zawiera nazwe akcji oraz parametry.

Token przekazywany jest do Dispatchera, ktory ma za zadanie utworzyc obiekt akcji, przekazac mu parametry i uruchomic akcje.

Wykonanie nastepnej akcji zrealizowalem w prosty sposob. W klasie akcji definiuje metode setNext($sActionName : string [, $aParameters : array]).

Ale jak moznaby zrealizowac przekierowanie na inna akcje w przypadku niepowodzenia? Co mam na mysli?

Filtr bezpieczenstwa. Sprawdza, czy uzytkownik zalogowal sie, czy ma odpowiednie prawa. Jezeli nie to powinien przeniesc uzytkownika do logowania.

Mozna zrobic header('Location: ble ble'), ale nie podoba mi sie ta metoda.

Jakies pomysly?

Adrian.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
anas
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej.

Moim zdaniem lepiej jest zdecydować kiedy redirect, a kiedy forward -> np. można podzielić akcje na dwa typy: generujące widok i logiczne. Logczine wykonujące pewne operacje np. w łancuchu. a każdy łańcuch niech się kończy akcją typu widokowego.

I tak w przypadku akcji logicznych robiłbym forward, ale już w przypadku widokowych i ewentualnego oddania kontroli kolejnej akcji widokowej redirect - dlaczego? - chociażby ze względu na indeksację w wyszukiwarkach. To co się dzieje w tle może być forwardowane, ale to co zmienia widoki - powinno być identyfikowane innym adresem url - chociażby zapisanie bookmarka.

Pozdrawiam

anas
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 03:43