Etykiety

linux (14) php (14) Laravel (9) mysql (9) Hardware (8) Windows (6) sieci (5) PowerShell (4) software (4) MariaDB (3) apache (3) html (3) Microsoft (2) bezpieczeństwo LAN (2) cygwin (2) Akcesoria (1) CMS (1) Laptop (1) Open Office (1) drupal 7 (1) gpg (1) hosting (1) jquery (1) sieci LAN (1) xml (1) zabezpieczenie sieci LAN (1)

sobota, 25 listopada 2017

Laravel od podstaw: widoki i szablony

Znając już podstawy routingu w Laravel, możemy teraz przejść do pracy z widokami i uruchomić naszą pierwszą stronę internetową stworzoną w tym świetnym frameworku. Zrobimy to teraz wspólnie krok po kroku. Z poprzedniego artykułu wiemy już, że po dokonaniu świeżej instalacji frameworka mamy jeden gotowy widok przykładowy:
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.

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:
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:
"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ść:
<!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.

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'

                ]);

});

Route::get('/mojastrona', function() {

        $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'));

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


Efekt działania powyższego kodu w przeglądarce
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

1 komentarz:

Dodaj komentarz