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 |
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!';
});
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ć?';
});
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');
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;
});
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 |
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