Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 2767 razy

Routing czyli przekierowania są formą przejścia z starego zapisu danych sterujących zawartością strony do nowego bardziej przejrzystego sposobu tworzenia linków. Co ważniejsze przeglądarki takie jak Google nie chcą już indeksować stron korzystających np z takiego adresowania: http://www.obliczeniowo.com.pl&value=1000 i z tego też względu również należy pozbyć się starego sposobu linkowania strony na rzecz nowego. Na szczęście w Symfony przekierowania można obsłużyć w bardzo prosty i przystępny sposób. Zanim jednak omówię ten temat chciałbym poświęcić trochę czasu na jakże zacne wydarzenie albowiem aż dziw bierze, ale po raz pierwszy Microsoft zrobił coś działającego pod systemem Linux. I to działającego dość sprawnie i użytecznie. Czym jest to coś? Ano jest to program Visual Studio Code, którym ta firma uraczyła również użytkowników innych systemów operacyjnych.

Program Visual Studio Code działający pod Linuxem
Rys. 1
Program Visual Studio Code działający pod Linuxem

Warto zainstalować to oprogramowanie i z niego korzystać, albowiem bardzo usprawnia pracę, pozwala na przeglądanie plików i folderów w projekcie zawartych. Koloruje i uzupełnia kod, a także umożliwia jego weryfikację.

W moim przypadku po wskazaniu folderu ostatnio utworzonego projektu strony mogę rozpocząć pracę nad dodaniem pierwszych podstron z wykorzystaniem mechanizmu routingu (przekierowania) utworzonego przez Symfony. W tym jakże zacnym celu konieczne jest przejście do folderu: src/Controller, gdzie utworzyć należy plik o nazwie DefaultController.php. W pliku tym utworzyć klasę o tej samej nazwie (co jest bardzo ważne, jeżeli chcesz, aby strona się uruchomiła). Oto podstawowy przykładowy kod PHP:

<?php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class DefaultController { /** * @Route("/first/page") */ public function myFirstPageEver() { return new Response( '<html><body>My first Symfony page ever!</body></html>' ); } } ?>

Cóż pozostało do zrobienia, jak nie sprawdzenie czy to działa poprzez wpisanie w adresie przeglądarki: localhost:8000/first/page

Symfony - pierwsza stona!
Rys. 2
Symfony - pierwsza stona!

Tada! Magia działa! Prawie zaskakująco dobrze jak sztuczka Jocker-a z ołówkiem. No, może nie jest to najpiękniejsza strona, jaką w życiu zrobiłem, może jest brzydka jak Angela Merkel, ale pamiętajmy, że początki bywają trudne. I w odróżnieniu od Angeli Merkel twoja strona może się stać tak piękna, jak tylko potrafisz sobie to wyobrazić!

Jak to działa? Skrótowo rzecz ujmując Symfony bierze kawałek kodu:

/** * @Route("/first/page") */

i zamienia to co jest podane jako parametr Route w ścieżkę dostępu. Gdy więc wpiszesz w przeglądarce localhost:8000/first/page wykona się kod podpięty pod tą stronę. Tym kodem oczywiście jest metoda klasy DefaultController o nazwie firstPageAction.

Takich metod można utworzyć od groma i jeszcze trochę, dla przykładu w poniższym kodzie dodałem jeszcze jedną metodę secondPageAction:

<?php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class DefaultController { /** * @Route("/first/page") */ public function firstPageAction() { return new Response( '<html><body>My first Symfony page ever!</body></html>' ); } /** * @Route("/second/page") */ public function secondPageAction() { return new Response( '<html><body>My second Symfony page ever!</body></html>' ); } } ?>

Tym razem (możesz mi wierzyć lub nie) gdy wpiszesz w przeglądarce localhost:8000/second/page twoja ulubiona przeglądarka pokaże ci nowiusieńką własnoręcznie utworzoną stronę.

Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.