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
Abyśmy w naszej aplikacji mogli testować wysyłanie maili, co
będzie nam potrzebne do resetowania hasła oraz do potwierdzenia adresu email przy rejestracji,
potrzebujemy na to jakiś sposób i teraz sposoby są różne. Możemy
skonfigurować prawdziwe SMTP, aby te maile wysyłać, ale nadal development'u
dużo lepszym rozwiązaniem jest skorzystanie z rozwiązania takiego jak przykład mailtrap,
dlatego w tej lekcji ważne jest to żebyś zarejestrował się na stronie mailtrap.io.
Rejestracja jest darmowa, ten system również jest darmowy do
pewnych rozmiarów, nam w zupełności wystarczy. Ja się już zarejestrowałe i zalogowałem i
po logowaniu taki oto ekran zobaczysz. Klikniemy sobie Demo inbox
i tutaj są dane które będziemy chcieli skopiować. Laravel proponuję korzystanie mailtrap,
dlatego już mamy w pliku env pewne rzeczy. Zaraz ci powiem jak
działa mailtrap, ale najpierw sobie go skonfigurujmy. Tutaj zobaczysz u siebie nazwę
użytkownika, to jest username. Skopiujemy to i będziemy chcieli przejść do
pliku env z naszą konfiguracją. Zobaczysz, że mamy tutaj coś takiego
jak MAIL_DRIVER smtp, już jest podany mailtrap, to oczywiście później
produkcyjnie się zmienia. Podmienimy sobie username, teraz
tutaj jest password, również sobie podmienimy i encryption możemy zmienić na TLS.
Tyle nam wystarczy i teraz laravel wszystkie maile jakie będzie wysyłał,
będzie wysyłał przez mailtrap i teraz jaka jest przewaga tego mailtrap'a. Otóż
jeżeli wyślemy z użycia naszej aplikacji jakiś mail, to on po prostu wpadnie
w tą mailtrap, czyli pułapkę i pojawi się naszym inbox'ie, a
nie pójdzie do adresu docelowego i to jest tyle dobre jeżeli podamy
swój prawdziwy email, do niego nie dotrze ta wiadomość. Ona się pojawi tutaj, ale jeżeli
podamy sobie fejkowy zupełnie email, na przykład przy rejestracji i nie wiemy czy
on istnieje czy nie, to też do niego nie będzie wysłana wiadomość. Ona zostanie przechwycona
tutaj, ale zobaczymy do kogo miałaby być wysłana, zobaczymy całą treść tej wiadomości
i tak dalej, więc to jest naprawdę świetne rozwiązanie do testowania. I na
koniec tej lekcji jeszcze dwie rzeczy które chciałbym żebyśmy ustawili. Kiedy
będziemy wysyłać wiadomości to jest coś jak nagłówek from, czyli od kogo
jest ta wiadomość i również jest tym nagłówku from, jest
to adres, ale jest to też nazwa i to można również skonfigurować, żeby
to ładnie wyglądało to chciałbym to już zawczasu, dlatego przejdziemy config
i do mail i zobaczysz, że tutaj jest coś takiego
jak address from i MAIL_FROM_NAME. Czyli będziemy
chcieli sobie to skopiować. Jeżeli tego nie zmienimy, to kiedy będziemy wysyłać te maile, to właśnie
from to będzie domyślne Hello and Welcome, MAIL_FROM_NAME to będzie Example,
dlatego chciałbym żebyśmy to również sobie zmienili w dowolnym można tutaj
wstawić i powiedzmy że sobie tutaj wpiszemy adres naszej aplikacji.
Czyli będzie to hello@larablogger.test. Nieważne,
że on nie jest poprawny, ale przynajmniej będzie dobrze wyglądać. To jest jedna rzecz i
druga rzecz jest to MAIL_FROM_NAME, tutaj
sobie możemy wpisać na przykład LaraBlogger, okej.
Jeszcze jedna rzecz, to nam się przyda kiedy będzie resetowanie
hasła na przykład i będzie podawany link do naszej aplikacji. Zauważ tego nie zrobiliśmy
wcześniej, mamy tutaj link do naszej strony, dlatego chcielibyśmy tutaj pisać LaraBlogger
test, czyli kiedy na przykład przyjdzie mail, zresetuj hasło i tam będzie
link, to on już dzięki tym ustawieniem będzie na odpowiedni adres
kierowany, więc tyle w tej lekcji. Tak naprawdę zmieniliśmy tylko
rzeczy tym pliku konfiguracyjnym env, a w kolejnej lekcji już zobaczysz w jaki
sposób działa mailtrap.