![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 3 Dołączył: 29.07.2005 Skąd: Szczebrzeszyn Ostrzeżenie: (0%) ![]() ![]() |
ja proponuje podpatrzec symfony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Podpatrywanie nie wychodzi mi na dobre, bo zaraz pol frameworka przebuduje tylko po to, ze jedna rzecz mi sie spodoba.
Pobralem Symfony. Wyglada troche jak klon Mojavi. Wiedziac, jak dziala to w Mojavi, nic madrego nie wymyslilem. Wiec z Symfony jest podobnie :/ Jakies pomysly? Edit: Ciagle o tym mysle i w zasadzie uwazam, ze redirect jest calkiem dobrym pomyslem. Dlaczego? Chociazby dlatego, ze adres url bedzie wskazywal aktualne miejsce. Korzystajac z forwardingu Mojavi (domyslame sie ze Symfony dziala podobnie), zdarzaly sie sytuacje, ze na ekranie mialem liste kategorii sklepu, a na pasku adres wskazujacy na dodanie produktu... Wszystko dlatego, ze po dodaniu produktu forwardowalem na liste kategorii... Co o tym myslicie? Ten post edytował Prph 25.07.2006, 18:41:42 |
|
|
![]()
Post
#4
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Bo w Symfony (i pewnie Mojavi) jest podział na redirect i forward. Jedno odpowiada za dodanie akcji do kolejki, a drugiego wyrzuca odpowiedni nagłówek do przeglądarki
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Heh co ciekawe, W symfony wykonywana jest jedna sztuczka, ktora osobiscie bardzo mi sie nie podoba.
W przykladach bylo cos takiego (wymyslam sytacje): wykonywana byla akcja DodajKomentarz. Na jej koncu autor chcial powrocic do PokazNews, tyle ze chcial aby to byl dokladnie ten news, do ktorego dodano komentarz. Wiec wykonal cos takiego:
To imitowanie innego zgloszenia. Nie lepiej zrobic redirect? Adrian. Ten post edytował Prph 25.07.2006, 22:15:39 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
To imitowanie innego zgloszenia. Nie lepiej zrobic redirect? Adrian. Sam takie coś robie w swoim frameworku, wg. mnie to jest fajna sprawa i wydaje mi się jak najbardziej na miejscu. Jak napisali koledzy wyżej istnieje forward i redirect więc możesz zastosować redirect jeśli Ci to bardziej odpowiada... |
|
|
![]()
Post
#8
|
|
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 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Yyyy o_O ?
Jak ma niby wygladac forward z akcji widokowej do innej widokowej? o_O? Adrian. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%) ![]() ![]() |
@Prph: Poprzez redirect url.
Jedynie akcje logiczne powinny byc forwardowane wewnetrznie w jednym wywolaniu - dlatego ze nie maja wplywu na generowany widok. Czasem jednak dzieje się tak że ktoś wchodzi na stronę np. moje konto, ale nie jest zalogowany, wtedy trzeba go przekierować na formularz logowania - tutaj ja uważam że rozsądniej jest stosować redirect ze zmianą URL'a. pozdrawiam anas |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tez jakos jestes za redirectem. Ale jednak forward musze miec opracowany. Pomyslalem, ze zrobie go na wzor Zenda. W ogole Zend podoba mi sie, bo w przeciwienstwie do Mojawi, a o Symfony to juz nie wpsominajac jest lekki.
Za glowe sie zlapalem jak zobaczylem Symfony. To taki 3x wieksze Mojavi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Adrian. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Co do symfony:
Cytat Autorzy tego frameworka wybrali to co najlepsze z innych frameworków - organizacje z Mojavi, I18n z prado, dodali idee z Ruby i stworzyli coś bardzo dobrego.. Już wiesz czemu ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ja nie twierdze, ze Symfony jest zle, ale pewne jest ze duzo wazy.
Dlatego podoba mi sie Zend - ma chyba minimum kodu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Z kolei nie podoba mi sie w Zend to, ze trzeba za duzo sie nagimnastykowac. Dlatego majac male doswiadczenie z pisaniem frameworka, znajac Mojavi, znajac Zenda, przegladadajac Phienda, Phienda2 i inne, buduje wlasny kod. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Dlatego majac male doswiadczenie z pisaniem frameworka [OT]: Frameworki powinny byc pisane przez osoby doswiadczone aby zawieraly w sobie to co najlepsze i nie uczyly zlych praktyk[/OT] |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Owszem... pod warunkiem, ze sa przeznaczone dla sporej grupy programistow.
Jezeli ja chce programowac aplikacje sam i raczej nie beda umieszczane za loadbalancerami, to chyba moge pokusic sie o wlasny framework. Dlaczego pisac wlasny? Sa przynajmniej dwie ogoromne zalety: 1. Mozna tak dobrac poszczegolne komponenty, aby dostosowac framework do swojego stylu. 2. Bardzo, ale to bardzo wiele mozna nauczyc sie piszac framework. Ja OOP nauczylem sie piszac framework (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Adrian. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 3 Dołączył: 29.07.2005 Skąd: Szczebrzeszyn Ostrzeżenie: (0%) ![]() ![]() |
symfony ma tą wielką zaletę że jest dla ludzi leniwych. jeśli klepanie kodu kogoś bawi to fajnie jest pisać własny kod (mnie już to tak nie bawi bo od początku nie było to moję marzenie na wiele lat, a raczej jeden z niezbędnych etapów w zyciu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). jesli jednak juz nie masz tych wypieków na twarzy widząc kawałek kodu warto się zainteresować frameworkiem.
dla ludzi chcących dołączyć do grona leni a nie są jeszcze przekonani do symfony czy nie miały z nim styczności polecam film (ok 20 minut): http://downloads.symfony-project.com/demo/...r_commented.mov ukazuje on potęgę symfony. dzięki symfony możemy storzyć spory system dodając zaledwie pareset linni własnego kodu :0 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:19 |