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
Ciekaw jestem jak ci poszło. Mam nadzieję, że ci udało, że spróbowałeś sam
wykonać to zadanie. Niestety nie jestem w stanie sprawdzić jak ci poszło, ale
ty możesz zobaczyć jak ja to zrobiłem i porównać ze swoim kodem. Najpierw
pokażę ci jak to wszystko działa. Klikam sobie kontakt, przechodzimy do takiego formularza, oczywiście
walidacja tutaj działa poprawnie jeżeli pola nie są uzupełnione. Teraz
sobie je uzupełnimy jakimiś przykładowymi danymi i wyślę wiadomość. Wysyłam
taką wiadomość, chwile czekamy i powinniśmy mieć zielony komunikat. Zgadza
się ona wpadła na mailtrap, została wysłana do admin'a
admin larablogger test i została wysłana z adresu naszego
głównego hello larablogger, a nie od osoby, która wpisała ten adres
swój, tak będzie po prostu lepiej, żeby do spamu do wiadomości nie wpadały,
bo moglibyśmy ustawić w Chrome na właśnie taką osobę, która tam
wpisała, ale lepiej to przekazać właśnie do treści wiadomości. Skorzystałem
z wiadomości mark down w laravel, bo ładnie to wygląda i właśnie ten sposób sformatowałem,
że wiem od kogo jest ta wiadomość, jaki był temat i jaka była
treść i mogę w czego mu odpisać, więc teraz zobaczmy jak trzeba
było to rozwiązać, żeby to poprawnie działało, więc pierwsza rzecz, to trzeba
było stworzyć kontroler, który byśmy nazwali contact controller. Ja w
nim stworzyłem metodę o nazwie show, możesz ją nazwać dowolnie i ona zwraca widok
pages contact, więc pages contact, jeżeli teraz sobie przejdziemy,
wygląda tak, to jest ten formularz, który ci wskazałem żeby
tutaj dodać. On metodą post kieruje na taki
oto raute, zaraz ci to pokaże i standardowo tutaj waliduje, zapisując
również starą wartość przesłaną, jeżeli się strona przeładuje,
to jest dokładnie to co do pory robiliśmy. Zatem zobaczmy, co jest
w web, w web sobie podlinkowałem pod contact dokładnie pokazywanie
tego formularza i nazwałem to contact i z tego powodu możemy się odwołać
route, właśnie tutaj od contact i podstawi nam
to taką ścieżkę. Dodatkowo dodałem zapytanie o typie
post pod taki sam adres i kieruje to na Contakt Controller
metoda send. Oczywiście ta nazwa również mogła być dowolna. Teraz w
tej metodzie robię rzeczy następującą, czyli waliduję. Email to musi
adres email, a temat i wiadomość chciałbym żeby były wymagane i
miały minimum trzy znaki. Następnie za pomocą mail wysyłam
do admina, czyli mieliśmy to już skonfigurowane wcześniej wiadomość
i utworzyłem sobie klasę, którą nazwałem message i przekazuje jej te zwalidowane
dane. Jeżeli to się uda wysłać to przekierowuje z powrotem z wiadomością,
to jest ta zielona która się pokazuje, że twoja wiadomość została wysłana, czyli
to message należało sobie wygenerować z użyciem php artisan make mail
message, mogłeś to nazwać inaczej i to z kolei pojawia
się nam wtedy tutaj. Przekazuje mu data, więc to
data wpada do konstruktora, dodałem jako publiczne i zapisuje
sobie tutaj po to, żeby widoku było dostępne. Następnie zwracam tutaj
widok typu mark down i z katalogu emails, plik message
blade, więc jeżeli przejdziemy teraz do tego pliku tutaj,
to w tym pliku właśnie zrobiłem sobie taką wiadomość jak widziałeś
na mailtrapie, czyli message from i następnie from tutaj
w mark downie stworzyłem link. Od razu z odnośnikiem mail,
żeby można było kliknąć i odpisać, czyli mamy tutaj data email subject i message
i tak naprawdę tyle należało zrobić i mamy działające formularz kontaktowy.
Mam nadzieję, że tobie również się to udało, jeżeli nie to postaraj się
dokończyć to co być może zacząłeś, posługując się moim
kodem.