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
Skoro jesteśmy jeszcze w tematyce routingu, to chciałbym ci pokazać
jaki sposób możemy określić jaka ścieżka jest aktywna. Po co? No właśnie po
to, że jeżeli na przykład przejdziemy do about me to chciałbym potwierdzić ten link dodając
mu klasę is Active i można to zrobić dosyć prosty sposób jeżeli
sobie przejdziemy do naszego widoku Master, bo dokładnie tam mamy wszystkie te
elementy menu, to będziemy mogli tutaj zrobić, żecz
następującą. Jak widzisz login kontakt to będzie później, więc sobie wtedy to
uzupełnimy, ale jeżeli chodzi o about, to możemy to zrobić od razu. Chcielibyśmy sprawdzić
czy aktualna ścieżka to właśnie jest about, ale nie będziemy tutaj nic hardcode'ować,
czyli nie będziemy pytać czy ścieżka to jest ukośnik about, bo ona się może
zmienić. Natomiast zrobimy to w sposób całkowicie dynamiczny. Teraz chciałbym w
tym miejscu dodać atrybuty class, żeby on tak wyglądał is Active.
Jeżeli jesteśmy na About me. Zobacz, mamy tutaj About me. Jest
teraz aktywne, ale na każdej podstronie będzie aktywne, więc chcę to dodać dynamicznie. Możemy
to zrobić w następujący sposób. Zrobimy coś takiego i pamiętaj, że tutaj musimy
to dodać jako HTML, żeby tutaj nie było żadnego Escape
robionego, tak jak jest przy takim zapisie dwóch nawiasów
klamrowych, bo wtedy nam te cudzysłowy zescape'uje i nam to nie zadziała poprawnie,
więc tutaj musimy o to zadbać, żeby to wyglądało następująco i
to i w środku zrobimy sobie pewien warunek. Mamy w laravel w dowolne miejsce
naszej aplikacji, a zatem również widokach, dostęp do takiej funkcji request,
która zwraca nam aktualny obiekt zapytania. Na tym obiekcie jest
wiele rzeczy, o których jeszcze w kursie będziemy mówić. Możemy na przykład odczytywać parametry querystring'u
i tak dalej, ale możemy również skorzystać z metody, która tam się znajduje i
ona nazywa się route Is, czyli możemy zapytać czy aktualna
ścieżka to jest about. Pamiętaj, że to jest tylko nazwa
którą wpisaliśmy tutaj web, a więc jest to ta nazwa, jeśli ją tutaj zmienimy,
to musimy ją podmienić w tym miejscu i w tym miejscu, więc jeżeli to zwróci true
to chcemy dodać sobie taką oto klasę i może zrobimy to tak po
prostu, a przeciwnym wypadku nie chcemy tutaj dodawać nic,
czyli pusty ciąg. Jeszcze przed tą klasą tutaj by się przydała spacja jeśli będziemy chcieli to
a tutaj odpowiednia mieć sformatowane. I teraz
jeżeli odświeżę. Okej, mamy jakiś błąd zerknijmy, okej. Tutaj
nie powinno być dwukropka, oczywiście. Jeszcze raz, jak
widzisz About nie jest podświetlone. Jeżeli byśmy sobie zajrzeli do kodu źródłowego HTML, okazuje
się, że class is Active jest tutaj dodane. Czyli wrócimy na stronę główną, wtedy tej
klasy już tutaj być nie powinno i dokładnie tak też stało, więc ten
prosty sposób możesz sprawdzić czy aktywna jest dana ścieżka. Natomiast
jest to jedna z tych metod, które nie są w dokumentacji widoczne
i można je znaleźć na w internecie lub zaglądając ab
do czego serdecznie zachęcam. Mamy również taki adres gdzie jest API całe laravel'a
i możemy tutaj znaleźć wiele różnych ciekawych metod. Takich jak na przykład route Is. Jak
widzisz możemy tą metodę znaleźć dokładnie w tym miejscu, innym sposobem jest oczywiście
zaglądanie do katalogu vendor który się tutaj znajduje i możemy
tam przejść do laravel i po prostu przeglądać wszystkie pliki. Nie jest to zbyt wygodne, ale
jednak można tam dużo ciekawych informacji bo są one dobrze skomentowane.
Ja natomiast polecam zaglądnąć do API, ale na pierwszym miejscu, po prostu, googlować,
jeżeli nie wiesz jak co zrobić.