resources/views/welcome.blade.php
Mamy również wstępnie ustawioną regułę routingu, która jest powiązana z tym widokiem:
Route::get('/', function() {
return view('welcome');
});
Znamy już podstawy działania routingu w Laravel i wiemy do czego służą powyższa reguła, wraz z powiązanym z nią widokiem. return view('welcome');
});
Nasza pierwsza strona internetowa stworzona w Laravel
Utwórzmy teraz prosty, szkoleniowy plik HTML zawierające następujący kod:
<!doctype html>
<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<p>Przykładowy paragraf treści</p>
</body>
</html>
Następnie zapiszmy ten plik jako:
<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<p>Przykładowy paragraf treści</p>
</body>
</html>
resources/views/mojastrona.blade.php
Po zapisaniu pliku przejdży do reguł routingu i dodajmy do pliku
routes/web.php
Następującą zawartość:
Route::get('/mojastrona', function() {
return view('mojastrona');
});
Po przejściu na względny adres URL /mojastrona, oczywiście względem adresu naszej aplikacji, pojawia się widok HTML związany ze stroną, czyli nic ciekawego poza napisem:
return view('mojastrona');
});
"Przykładowy paragraf treści"
Świetnie! Wiemy już jak utworzyć widok i powiązać go z trasą routingu. Teraz zobaczmy jak proste jest dodanie do naszego widoku treści generowanej w PHP.Laravel jest świetnym środowiskiem programistycznym i pozwala w bardzo przyjazny sposób tworzyć czysty i przejrzysty kod, oddzielając warstwę PHP od warstwy HTML. Do tego właśnie służą szablony z rozszerzeniem .blade.php.
Jak się posługiwać szablonami? Otóż zmienne można przekazywać do widoku na wiele sposobów. Zacznijmy od najprostszego z nich. Aby sprawdzić jak to się robi edytujmy naszą regułę routingu i dodajmy do niej wartość, którą mamy zamiar wyświetlić w powiązanym z nią widoku:
Route::get('/mojastrona', function() {
return view('mojastrona')->with('tekst', 'Mój przykładowy paragraf');
});
Dostosujmy teraz nasz szkoleniowy widok, tak aby mogła się w nim prawidłowo wyświetlać przekazywana przez funkcje php wartość:
return view('mojastrona')->with('tekst', 'Mój przykładowy paragraf');
});
<!doctype html>
<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<p>{{$tekst}}</p>
</body>
</html>
Jeśli po zapisaniu powyższych zmian w plikach routingu i wodoku widzimy w przeglądarce tekst, który przekazaliśmy do widoku za pomocą funkcji PHP, oznacza to, że ten kolejny krok także się powiódł.
Predstawię teraz kilka innych podstawowych sposobów przekazywania wartości do widoków w środowisku Laravel.<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<p>{{$tekst}}</p>
</body>
</html>
Oto kilka przykładów, których efekt jest dokładnie taki sam jak we wstępnie omówionym sposobie przekazywania zmiennej do widoku:
Route::get('/mojastrona', function() {
return view('mojastrona', [
'tekst' => 'Mój przykładowy paragraf'
]);
});
return view('mojastrona', [
'tekst' => 'Mój przykładowy paragraf'
]);
});
Route::get('/mojastrona', function() {
$tekst = 'Mój przykładowy paragraf';
return view('mojastrona', compact('tekst'));
});
$tekst = 'Mój przykładowy paragraf';
return view('mojastrona', compact('tekst'));
});
Wiemy już jak przekazywać zmienne do widoku i w jaki sposób się do nich z widoku odwoływać. Zobaczmy teraz jak przekazywać do widoku kolekcje i w jaki sposób z nimi pracować z poziomu widoku. Oto jeden ze sposobów przekazywania kolekcji zmiennych do widoku:
Route::get('/mojastrona', function() {
$lista = [
'To jest pierwszy element',
'To jest drugi element',
'To jest trzeci element',
];
return view('mojastrona', compact('lista'));
});
$lista = [
'To jest pierwszy element',
'To jest drugi element',
'To jest trzeci element',
];
return view('mojastrona', compact('lista'));
});
<!doctype html>
<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<ul>
@foreach ($lista as $element)
<li>{{$element}}</li>
@endforeach
</ul>
</body>
<html lang="pl">
<head>
<title>Moje pierwsze widoki w Laravel</title>
</head>
<body>
<ul>
@foreach ($lista as $element)
<li>{{$element}}</li>
@endforeach
</ul>
</body>
Efekt działania powyższego kodu w przeglądarce |
Świetnie! Wiemy już jak w podstawowy sposób posługiwać się widokami i przekazywać do nich zmienne. W kolejnych artykułach z tej serii posłużę się rozmaitymi przykładami z wartościami pozyskiwanymi z bazy danych, ale najpierw będzie konieczne omówienie podstaw pracy z bazami danych w środowisku Laravel. Zrobię to w kolejnym artykule.
Serdecznie zapraszam do kolejnej części niniejszego szkolenia, p.t. Migracje
Szablon sklepu internetowego jest tym, co decyduje w dużym stopniu o powodzeniu danego biznesu.
OdpowiedzUsuń