![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zastanawiam się gdzie powinienem umieścić w skrypcie rozpoznawanie zmiennych przekazanych do skryptu. Dla dokładniejszego wyjaśnienia o co chodzi posłużę się przykładem. www.domena.pl/kontakt/ www.domena.pl/kontakt/wyslij_email/ Kiedy klikamy na pierwszy link widzimy stronę z informacjami o kontakcie. Drugi to link z właściwości action - formularza wysyłającego list. Teraz się zastanawiam po prostu gdzie mam wydzielić rozpoznawanie tych linków. ( Podałem linki w uproszczonej formie - mod_rewrite ) Jeśli wszystkie linki były wydzielone do jednego modułu który zajmował się uruchamianiem akcji - metod klas; kiedy musiałem coś zmienić trudno było mi cokolwiek znaleźć. Natomiast nie za bardzo mi się podoba perspektywa rozrzucania kodu tego samego typu po różnych klasa. Czy było by na przykład W klasie kontakt rozpoznawanie działań przeznaczonych dla tej klasy. Wiem że to w sumie strasznie pierdułkowaty problem, ale chciałbym się dowiedzieć jak jest lepiej zrobić. Walnąć rozpoznawanie linków do oddzielnego pliku/klassy czy zrobić tylko bardzo ogólny starter a resztę na przykład czy wysłać email umieścić w klasie Kontakt ? Pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mozesz to sobie umiescic w index.php, ktory to bedzie odczytywal parametry z URL i na tej podstawie uruchamial odpowiednia klase, metode i podawal parametry dla tej metody.
Wg schematu: Kod http://twoja_aplikacja/modul/akcja/parametr1/parametr2
Poza tym zobacz sobie dokumentacje do CodeIgniter. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie dobre w przypadku małych projektów problem w tym że teraz chcę to zastosować do molocha i w przypadku takich projektów zazwyczaj jest to mniej więcej 500 linii kodu.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Nie ma nigdy jednej jednie słusznej metody. Jednak zazwyczaj rozwiązuje się to budując klasę router która prasuje, validuje url'e i zgodnie z podana reguła zwraca do front controlera akcje jaka ma odpalić oraz dodatkowe parametry.
500 linii kodu? Co Ty chcesz wrzucić do tej akcji ? Powtarzalne elementy można includować np. z widoku i zapisać je jako komponenty. Ja od siebie polecę gotowe rozwiązanie w postaci frameworka Symfony w którym od jakiegoś czasu jestem zakochany ![]() ![]() Jak napisać prosty router opisał Strzałek na swoim blogu. -------------------- Goldenline: Łukasz Rodziewicz
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja osobiście umieściłbym to w przeznaczonych do obsługi danych zarzeń plikach, tzn:
np. w pliku obsługującym stronę główną rozpoznawanie /kontakt/, /galeria/, etc. A poźniej w pliku obsługującym kontakt rozpoznawanie: /wyslij/ (/kontakt/wyslij/), /wyswietl/ (/kontakt/wyswietl/), etc. Wydaje mi się, że to będzie dość rozsądne rozwiązanie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 04:34 |