Etykiety

piątek, 24 listopada 2017

Laravel od podstaw: podstawy routingu


Laravel to bardzo rozbudowany, a zarazem prosty w użyciu i przejrzysty framework PHP. Od dłuższego czasu jestem jego zwolennikiem, więc postanowiłem przedstawić ten framework swoim czytelnikom, poświęcając mu całą serię artykułów tematycznych. Mam nadzieję, że moje przedsięwzięcie okaże się przydatne, a pasjonaci języka PHP i opartych na nim frameworków będą mogli czerpać z niego wiele korzyści.



Laravel świetnie sobie radzi z tworzeniem witryn internetowych i wszelkiego rodzaju aplikacji webowych. Ponieważ routing, trasy i widoki to podstawowe elementy niemalże każdej współczesnej witryny web, sądzę że warto od nich rozpocząć tą prygodę.

Trasy i widoki w Laravel


Czym są routing, trasy i widoki? Otóż w Laravel pod pojęciem routingu kryje się zbiór reguł przypisujących dane funkcje lub widoki do tras. Trasa jest częścią adresu URL aplikacji web, a może służyć, między innymi, do prowadzenia użytkownika do konkretnego jej widoku, czyli do tego co wyświetlane jest w przeglądarce po przejściu do wybranego adresu URL. Trasa może także służyć do wywołania konkretnej akcji wewnętrznej, takiej jak przykładowo zapisanie do bazy danych informacji wprowadzonych do formularza przez użytkownika. Do podstawowego zarządzania trasami i odpowiadającymi im widokami służy plik, którego ścieżka, względem katalogu aplikacji, jest następująca:
routes/web.php
Co się powinno w tym pliku znajdować? Otóż plik ten powinien zawierać definicje tras routingu aplikacji i przypisanych im wartości zwrotnych lub funkcji. W pliku tym można określać akcje przypisane do różnego rodzaju żądań skierowanych do określonych adresów URL. Mogą to być przykładowo żądania typu GET i POST, ale nie tylko.

W przypadku świeżej instalacji frameworka Laravel, plik odpowiedzialny za routing w katalogu nowej aplikacji zawiera następujący wpis:
Route::get('/', function () { return view('welcome'); });
Powyższy wpis oznacza tyle, że po wejściu na główną stronę witryny powinien pojawić się widok o nazwie 'welcome', który jest w tym przypadku oparty o szablon .blade, znajdujący się w głównym katalogu widoków. Szablony typu .blade są bardzo potężnym narzędziem frameworka Laravel, więc omówię je dogłębnie w jednym z kolejnych artykułów.

Świeża instalacja Laravel: domyślny widok powitania
Świeża instalacja Laravel: domyślny widok powitania

Glówna ścieżka, pod którą umieszczane są pliki widoków aplikacji to:
resources/views
Przytoczę kilka podstawowych przykładów routingu w Laravel. Po przetestowaniu i zrozumieniu poniższych przykładów, zachęcam czytelników do zagłębienia tematu korzystając z oficjalnej dokumentacji frameworka Laravel

Proste przykłady reguł routingu w Laravel


Efektem poniższego wpisu, jest wyświetlenie się napisu 'Witamy!' po przejściu na względny adres URL /, czyli na główną stronę serwisu web. W odpowiedzi na żądanie HTTP typu GET z adresem strony głównej aplikacji:
Route::get('/', function () {
  return 'Witamy!';
});

Poniższy wpis routingu powoduje wyświetlenie się napisu 'Witamy' w odpowiedzi na każdego rodzaju żądanie HTTP z adresem strony głównej aplikacji web:
Route::any('/', function () {
  return 'Co tu robić?';
});

Definiując reguły routingu możemy również przypisać wewnętrzną nazwę określanej trasy, do której można się w ten sposób odwoływać z poziomu skryptów php, przykładowo:
Route::get('/', function () {
  return 'Witamy!';
})->name('home');

Poniższy przykład powoduje wyświetlenie się nazwy użytkownika w odpowiedzi na żądanie HTTP GET pod adresem względnym /panel/{login} W tym przypadku parametr URL o nazwie login przyjmuje dowolny ciąg znaków:
Route::get('/panel/{login}', function ($login) {
  return 'Witamy użytkownika '.$login;
});

Poniższy wpis przypisuje do względnego adresu URL '/posty' naszej aplikacji i żądania HTTP typu GET metodę index() kontrolera zasobów PostController oraz ustawia nazwę wewnętrzną dla tej reguły. Kontrolery zasobów frameworka Laravel omówię bardziej szczegółowo w jednym z kolejnych artykułów niniejszej serii:
Route::get('/posts','PostController@index')->name('home');

Aby wyświetlić aktualną listę routingu, można wydać następujące polecenie z głównego katalogu aplikacji
php artisan route:list

Przykładowy efekt polecenia php artisan route:list
Przykładowy efekt polecenia php artisan route:list


Co dalej?


Przedstawiłem tutaj kilka podstaw, które okażą się niezbędne do zrozumienia kolejnych tematów. Do routingu, tras i widoków będę nieustannie powracał w kolejnych artykułach z tej serii, poszerzając zakres pojęć o kolejne elementy.

Serdecznie zapraszam do kolejnej części niniejszego szkolenia, p.t. Widoki i Szablony

Brak komentarzy:

Prześlij komentarz

Dodaj komentarz