Techniki Pracy
8 godz. 33 min · Laravel · Full-stack i Programowanie
Piotr PalarzWeb DeveloperKurs ten rozpoczniemy od omówienia czym jest framework Laravel i co może Ci zaoferować. Następnie zobaczysz jak skonfigurować środowisko do pracy lokalnej w formie wirtualnej maszyny z preinstalowanymi narzędziami, tj. PHP, MySQL czy serwerem nginx. Zobaczysz w jaki sposób tworzyć nowe projekty wykorzystujące Laravel, zrozumiesz strukturę katalogów projektu i skonfigurujesz polaczenie z baza danych.
W kursie nie znajdziesz czysto teoretycznych lekcji. Każda z części przybliżać nas bowiem będzie do finalnej wersji projektu, którym będzie aplikacja internetowego bloga. Funkcjonalności, które od podstaw zaimplementujemy, to m.in. dodawanie i wyświetlanie wpisów, tworzenie i przypisywanie tagów, komentowanie, rejestracja i logowanie użytkowników czy wyszukiwarka. Każda z nich odkryje przez Toba możliwości frameworka Laravel i jego sposoby na rozwiazywanie konkretnych problemów.
Laravel to framework oparty o wzorzec MVC. Na konkretnych przykładach zobaczysz co to oznacza. Tworzyć będziemy wspólnie kontrolery, do których przypiszemy stosowne adresy URL, modele, które reprezentować będą dane, a także widoki, które te dane sformatują, wplatając je w kod HTML.
Choć aby w pełni zrozumieć omawiane zagadnienia, należy znać podstawowe koncepcje relacyjnych baz danych, to pisanie zapytań SQL nie jest czymś, to będziemy musieli robić. Wszystko to za sprawa migracji oraz Eloquenta. Te pierwsze pozwolą nam zaprojektować strukturę tabel bazy danych i jedna komenda je utworzyć, a Eloquent posłuży nam do tworzenia, zapisywania i odczytywania modeli reprezentujących te dane. Wszystko to uzyskamy pisząc wyłącznie prosty kod PHP.W kursie nie zabraknie również informacji na temat tworzenia relacji. Zobaczysz m. in. jak skojarzyć autora w wpisem, jak dodawać tagi czy komentarze.
Te dwa pojęcia, choć podobne, różnią się od siebie. Pierwsze pozwala określić, czy logujący się użytkownik jest tym, za kogo się podaje. Drugie mówi nam, czy dana osoba może wykonać zadana akcje. Oba te koncepty zobaczysz w akcji na praktycznym przykładzie. Do naszego bloga dodamy pełen system autentykacji, tj. rejestracje, logowanie, resetowanie hasła i potwierdzanie adresu email. Zalogowani użytkownicy otrzymają dzięki temu bonus w postaci niewidocznych dla pozostałych osób wpisów premium. Aby zarządzać wpisami na blogu, stworzymy mini sekcje administracyjna, do której dostęp będzie miał wyłącznie użytkownik oznaczony jako administrator. Dowiesz się wówczas nie tylko jak pokazywać pewne widoki wyłącznie zautoryzowanym osobom, ale także jak zabezpieczyć kontrolery przed nieuprawnionym dostępem.
Oprócz wymienionych wyżej tematów, w kursie poruszymy również uploadowanie plików na serwer, sposoby tworzenia i wysyłania maili, prace z Front-endem, debugowanie aplikacji, korzystanie z rozszerzeń tworzonych przez aktywna społeczność Laravel czy techniki wdrażania aplikacji do produkcji. Ostatni temat będzie o tyle ciekawy, ze jest on często pomijany w materiałach tego typu. Z tym kursem Twoja aplikacja nie pozostanie wyłącznie na dysku Twojego komputera. Dowiesz się bowiem jak skonfigurować serwer VPS tak, aby wykorzystać tzw. zero-downtime deployment. Dwie komendy wystarcza wówczas do tego, aby w kilkanaście sekund nowa wersja Twojej aplikacji ukazała się światu. A wszystko to bez przerywania jej działania nawet na ułamek sekundy i bez wykorzystania płatnych rozwiązań!
Kurs ten jest dla wszystkich tych, którzy znają już podstawy języka PHP i koncepcje relacyjnych baz danych SQL oraz chcieliby przyjemnie i wydajnie tworzyć ambitne aplikacje internetowe. Znajomość samego frameworka Laravel lub podobnych rozwiązań nie jest jednak wymagana. Praca z frameworkiem omawiana jest stopniowo, od podstaw do bardziej zaawansowanych tematów. Jeśli zatem masz głowę pełną pomysłów, a chcesz uniknąć frustracji związanej z pisaniem wszystkiego od podstaw - koniecznie sięgnij po Laravel i zobacz jak to narzędzie pozwoli skupić Ci się na tym, co istotne!
5.8.x
Warto jeszcze króciutko wspomnieć, że można również tworzyć templatki emaili
z użyciem Markdown oraz komponentów, które laravel nam oferuje,
dlatego pokazuje ci teraz trochę dokumentacji. W razie czego sobie tutaj zerknij. Zauważ,
że można od razu przy tworzeniu takiego mailable jak my zrobiliśmy podać
tutaj taką flagę Markdown i na przykład nazwę emails order shipped,
to nam stworzy katalog emails, następnie katalog orders i będziemy
mieli shipped blade php i tam będziemy od mieli pewien
komponent, pewne komponenty Markdown z których można skorzystać, ale spróbujmy sobie dostosować
to co mamy teraz. Tutaj widzisz w jaki sposób można to zrobić i zasadzie możemy
całość skopiować, jeżeli przejdziemy sobie teraz do naszej templatki. Było
to register blade php to możemy sobie to tutaj wkleić i tutaj
napiszemy na przykład to co mieliśmy tutaj. Tak
by to mogło wyglądać, no i teraz skopiujemy pozostałe rzeczy tutaj
oraz coś
takiego. Tutaj mamy taki komponent jak button właśnie i będę
chciał coś takiego, jako URL podstawimy sobie dokładnie
taką wartość i tutaj napiszemy LaraBlogger. To
możemy już usunąć. Zauważ, że na końcu mamy coś takiego jak config
app name i teraz skąd się bierze app name, oczywiście jeżeli widzisz config oraz app
name to oznacza że trzeba przyjść do katalogu App name i zobaczysz
skąd to bierze env app name, a to znaczy że w pliku env
mamy coś takiego jak APP_NAME tutaj z laravel. Możemy sobie to teraz dostosować
i nazwać na przykład LaraBlogger, oczywiście
tutaj się to znaleźć nie musi, ale jeżeli zostanie to będzie już odpowiednio podstawione,
teraz zauważ, że mamy tutaj właśnie częściowo Markdown, dlatego że
coś takiego to będzie na przykład nagłówek H1 i jeżeli jesteś zaznajomiony z Markdown'em
to wiesz, że tutaj możesz z różnych zapisów korzystać, żeby pogrubiać
czy tworzyć linki i tak dalej. Teraz ja nie będę chciał tego wysyłać, ale
sobie to podejrzymy, tak jak robiliśmy to wcześniej tutaj w routes, więc na
górze dodam raz jeszcze taką ścieżkę jak już wcześniej widziałeś. Zatem
pobieramy pierwszego użytkownika i tworzymy nową instancję UserRegistered i tak
by to mogło wyglądać, ale jeszcze ważna rzecz. Tutaj zamiast view musimy napisać Markdown. Przejdźmy
do przeglądarki i pod ukośnik mail jak
widzisz tak może wyglądać zatem to będzie bardziej przyjazne, troszeczkę
ładniejsze możesz z takiego, z takiej templatki również korzystać, ale co ważne gdybyś
chciał ją dostosować, tutaj jest to bardzo fajnie dopisane opisane. Mamy
customizing the components i jeżeli skorzystasz z php artisan vendor publish
i podasz tutaj laravel mail to oznacza tylko tyle, że z katalogu vendor,
gdzie wszystkie zależności composer'a są zainstalowane również w framework laravel do
katalogu z naszą aplikacją, z naszym kodem źródłowym, zostaną
przeniesione wszystkie możliwe komponenty. Tutaj jest to dokładnie opisane,
będziesz mógł wtedy dostosować, również dostosować kod CSS. Jak widzisz
wszystko co ja ci pokazuje, w zasadzie możesz znaleźć dokumentacji, jeżeli dokładnie ją przejrzysz.