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
W tej lekcji pokażę ci w jaki sposób możemy wyświetlić błędy bo tutaj pory
podświetlaliśmy tylko pola a możemy jeszcze wyświetlić komunikaty o błędach i do
tego celu przygotujemy sobie fajny komunikat który wielokrotnie jeszcze w tym kursie będziemy wykorzystywać. Natomiast na
początek chciałbym żebyśmy się wylogowali, póki nie wiemy jak to zrobić, to wystarczy
że usuniemy to ciasteczko wciskając delete i już będziemy wylogowani chociaż
na naszej stronie nigdzie tego nie widać bo nie sprawdzaliśmy tego w żaden sposób. Nie
zmienia to jednak faktu, że jesteśmy wylogowani i teraz znowu możemy
przejść sobie to account register. Przy okazji zapomniałem ci powiedzieć
że będąc zalogowanym tak jak przed momentem jeżeli byśmy chcieli przejść
do account register, przekieruje nas wtedy do strony głównej, a
w zasadzie jeszcze o tym będzie mówić w jednej kolejnej lekcji więc wtedy sobie to dostosujemy. I
teraz tak, mamy register, wiemy, że błędy się
podświetlają, ale się nie wyświetlają i teraz co ważne jeżeli byśmy sobie
przeszli to register blade, okej,
tutaj mamy tą zmienną errors i ona będzie dostępna w całym widoku, nawet
tym który rozszerzamy, czyli w naszym głównym layout'ie oraz we wszystkich partial'ach.
Dlatego ja teraz chcę zrobić jeszcze jedną rzecz. Ten widok register, który mówiliśmy,
że możemy podejrzeć, już nam zasadzie nie jest potrzebny. Przejdźmy natomiast do master. Tutaj
na samej górze chciałbym zrobić coś takiego. Skorzystamy z dyrektywy blade include,
która pozwala nam wczytywać jakieś fragment i będziemy
chcieli z katalogu partials wczytać sobie tutaj message,
okej. Nie mamy czegoś takiego, ale w partials sobie to teraz
utworzymy i jak wspomniałem, errors teraz będzie
dostępne wszędzie i co jest istotne w na laraverze to nie jest tak jeżeli ma
błędów to nie ma tej zmiennej, dlatego że to by generowało bardzo wiele problemów, gdybyśmy
próbowali do tej zmiennej odwołać, wieć ta zmienna jest zawsze, natomiast niekoniecznie
zawiera w sobie jakieś błędy. Z tego powodu bezpiecznie możemy niej skorzystać
i ja chciałbym tutaj stworzyć coś takiego. Jeżeli errors count, czyli jeżeli
są jakieś błędy, to będziemy chcieli utworzyć sobie
div'a który ma klasę message. Ja już to wcześniej oczywiście w CSS
przygotowałem i klasę is-error i wewnątrz te błędy będę będziemy chcieli
wyświetlić. Od razu ci powiem, że możemy to zrobić za foreach errors
all, to nam zwróci wszystkie te błędy w formie tablicy. Więc tutaj możemy
zrobić as error. Oczywiście and foreach i tutaj
wyświetlimy sobie po prostu p, a wewnątrz już treść tego błędu, to będzie po prostu
string, okej i teraz możemy już to przetestować,
czyli odświeżam stronę. Próbuje coś wysłać i powinna nam
się taka wiadomość tutaj pojawić. Ona się nie pojawiła tylko z jednego powodu. Musimy
sobie przejść do main.css i dostosować pewną
rzecz, czyli to jest public.css. Wyszukamy sobie tutaj message i usuniemy display:none,
które ja tam wcześniej dodałem. Okej jeżeli coś takiego zrobimy
i wykonam Submit, powinno nam się takie message
tutaj pojawiać, okej z jakiegoś powodu nam się nie pojawia. Być może
CSS nam się nie odświeżył, jeżeli otworzę sobie tutaj Chrome Dev Tools i przejdę do
Network i mamy zaznaczone Disable cashe to po odświeżeniu cały CSS musi się wczytać
od nowa, zgadza się i teraz nasza wiadomość już się pojawia i ona
po kilku sekundach automatycznie zniknie, jest wykonane za pomocą animacji
po prostu w CSS, więc w ten sposób możemy sobie jak widzisz taką wiadomość
wyświetlić I co ciekawe jak będziemy mieć inne formularze i one również będą generowały
taką zmienną error, errors, no to po prostu automatycznie będzie
się ta wiadomość wyświetlać. Nie musimy już nic dodatkowego robić. Będziemy również
chcieli tę wiadomość później wykorzystać do innych komunikatów, więc na koniec
tej lekcji jeszcze zróbmy jedną rzecz, o której zapomniałem w lekcji poprzedniej,
ale nadrobimy sobie to teraz. Jeżeli przejdziemy do register blate.
Bo zauważ że jeżeli ja tutaj wpiszę nawet jakąś poprawną rzecz
to jak się strony przeładuje to ona znika. Natomiast możemy tutaj sobie
dodać atrybuty value do każdego z tych pól i laravel
oferuje nam taką funkcję jak old i możemy powiedzieć old email, old
to znaczy ten który był przesłany wraz poprzednim zapytaniem, więc
możemy tutaj znowu zrobić to samo. Wpiszemy sobie old name i przy haśle
już tego robić nie chcemy, hasła się nie zapamiętuje w ten sposób, okej.
I teraz jeżeli tutaj wybierzemy znowu jak masz poprawną rzecz która przeszła
walidację. Jak widzisz po odświeżeniu strony ona nie zostaje usunięta i myślę
że jest to wygodne dla użytkownika wtedy może poprawić wyłącznie te pola które
nie są poprawne na daną chwilę. Poza tym tyle tej lekcji. W kolejnej pokażę
ci jeszcze jak możemy wyświetlić komunikat dla użytkownika, że został poprawnie zalogowany.