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
Jeżeli w swojej aplikacji nie będziesz korzystał z usług firm trzecich do
wysyłania masowego emaili, to nie będziesz tak naprawdę miał możliwości
zobaczyć, jak dokładnie wyglądają emaile wysłane do twoich użytkowników. Natomiast można
to bardzo prosto rozwiązać i pokażę ci sprawdzone na to rozwiązanie. Otóż
możemy dodać sobie coś takiego jak BCC, czyli Blind Carbon Copy do wysyłania
emaila i to oznacza, że oprócz tego, że mail zostanie wysłany do docelowego
użytkownika, to również zostanie wysłany w formie takiej ukrytej kopii
do ciebie jako do administratora i będziesz mógł dokładnie zobaczyć jak email
do kogo wyszedł, o jakim czasie i tak dalej, więc będziesz mógł po prostu to podejrzeć. Jak
to zrobić? Jeżeli przejdziemy sobie do naszego
mailaable, tutaj właśnie UserRegistered, to tutaj gdzie definiowaliśmy view,
czyli w metodzie build, wszystkie ustawienia się robi właśnie tutaj. Będę
chciał dodać coś takiego jak bcc i tu można podać adres
email na który chcemy to wysyłać. Powiedzmy, że to będzie admin@larablogger.test,
ale żeby go tutaj nie wpisywać ręcznie bo zazwyczaj powiem ci szczerze lepiej jest to
konfigurować w pliku env, to będziemy tutaj chcieli się za moment odwołać to
config'a, ale najpierw przejdźmy sobie do pliku env i dodamy sobie
tutaj taką zmienną jak na przykład mail,
admin, adres i wpiszmy
powiedzmy admin@larablogger.test, okej.
Teraz sobie to będziemy pobrać, ale dodamy to jako nowy wpis
w pliku konfiguracyjnym, bo pamiętaj tutaj mógłbyś skorzystać z env
i to podać, ale później kiedy będziemy zapisywać w pamięci
podręcznej, czyli cashe'ować cały config, to wtedy ta funkcja env nie będzie
działać, więc wspominałem na początku do kursu, że tej funkcji należy korzystać
wyłącznie w plikach konfiguracyjnych. Zatem przejdźmy do plików konfiguracyjnych, które
są w config i na przykład w mail. Najlepiej będzie to tutaj dodać, aczkolwiek możesz
dodać gdzie chcesz i mamy tutaj coś takiego jak from address from
name. Powiedzmy, że dodamy sobie tutaj coś takiego jak admin, będzie
to na przykład admin adres może zróbmy po z
tego taką tablicę, gdybyśmy w przyszłości chcieli tam dodać jakieś jeszcze inne cechy
admina, czy na przykład jego imię, coś w tym stylu i tutaj
skorzystamy dopiero funkcji env i ona, nam to odbierze z tego pliku. Zatem,
żeby się teraz odwołać dokładnie tej wartości, to będziemy musieli skorzystać funkcji config
i napisać w niej mail, jak nazwa tego pliku kropka admin kropka
adres, zatem przejdźmy tutaj config mail
admin adres, okej.
Teraz powinno być w porządku i będziemy mogli to bcc oczywiście zobaczyć
w mailtrap, również, więc teraz próbujemy się zarejestrować jeszcze na
jakiegoś innego użytkownika, okej. Próbujemy wysłać, zarejestrować się
i zobaczymy czy wszystko poprawnie skonfigurowaliśmy. Okej,
jak widzisz, pojawił się pewien błąd. Mamy tutaj too many emails per second,
czyli tak może to być błąd po prostu serwera smtp, bo mamy tutaj darmowe
konto na mailtrap'ie. Jak widzisz jeden email wyszedł tu jest ten o weryfikacji. Następnie,
że użytkownik zarejestrowany, czyli to już dwa maile i jeszcze chcieliśmy wysłać trzeci
jako Blind Carbon Copy, więc może żeby to przetestować, bo to jest problem
wyłącznie tutaj z tym mailtrap'em, na to wygląda, to wyłączymy sobie na chwile
wysyłanie tej weryfikacji, czyli przejdźmy sobie do
użytkownika i przestaniemy
implementować must verify email i raz jeszcze wrócimy
do przeglądarki. Wyczyszczę
tutaj wszystko, żeby za moment spróbować raz jeszcze. Oczywiście
tutaj będziemy się musieli wylogować, raz
jeszcze przyjdziemy do logowania i spróbujemy utworzyć nowego użytkownika. Próbuję
raz jeszcze się zarejestrować i może tym się uda bo będziemy tylko dwa maile wysłać, jak
widzisz udało się i mamy tutaj pierwszy mail, który tak naprawdę wyjdzie do
docelowego użytkownika, a drugi przyjdzie do admina, w zasadzie
tutaj gdzieś powinniśmy móc to podejrzeć, że jest to Blind Carbon Copy. Przejdźmy
tutaj do Raw i zauważ że jest tutaj gdzieś coś takiego jak bcc admin@larablogger.test
i to oznacza, że właśnie jeden tych emaili przyjdzie na taki adres.
Jak zatem widzisz, w taki prosty sposób możesz przekierowywać
do siebie również wysyłane wiadomości i dzięki temu będziesz mógł zerknąć na to,
jakie wiadomości wychodzą i czy jest nimi wszystko porządku.