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 jak możemy bardzo prosty sposób dodać sobie
rozszerzenie, czyli taką paczkę do laravela, która pozwoli nam wyświetlać avatary
serwisu gravatar, przy komentarzach użytkowników i dzięki temu,
że laravel jest naprawdę bardzo dobrze przemyślanym framework'iem, który od wielu jest dostępny
na rynku i on podąża za bardzo dobrymi praktykami, to
podobnie te praktyki można powiedzieć, że po części wymusza na twórcach
paczek i teraz rozszerzenia do laravel zazwyczaj są napisane
w taki sposób że korzysta się z nich niezwykle prosto i zazwyczaj
również ich dokumentacja jest bardzo jasna, teraz gdybyś mnie zapytał gdzie wyszukiwać
rozszerzeń to odpowiem prosto, w Google. Jeżeli wpiszesz na przykład
laravel gravatar, znajdziesz to czego szukasz, bez żadnego problemu i
jedną z takich paczek jest właśnie laravel gravatar tutaj
dokładnie opisane jak niej korzystać oczywiście ją się instaluje z użyciem composera jak
wszystkie inne rzeczy i w zasadzie od razu możemy zacząć z niej korzystać. Przed
laravel'em w wersji 5.5 trzeba było po instalacji takiej
paczki dodać ją sobie do config app i pokażę ci tylko gdybyśmy
tam przyszli app php tutaj jest coś takiego jak providers
i tutaj są te ścieżki pełne namespace do różnych takich providerów
i jak widzisz mamy na przykład coś takiego jak Package Service Providers. W tym miejscu można
by było dodać to co jest tutaj zapisane, następnie moglibyśmy w miejscu
aliases dodać to co jest tutaj, ale tutaj również jest jasno
napisane że jeżeli korzystasz z wersji większej 5.5 a my korzystamy obecnie
5.8 to w5.5 zostało wprowadzone coś takiego jak Package Discovery i
laravel automatycznie znajdzie to my szukamy. Nie musimy nawet tego
dodatkowo konfigurować. Zainstalujmy sobie zatem coś
takiego, możemy to dodać do pliku composer json i wpisać composer update
lub po prostu wpiszemy composer require i podamy taką nazwę
jak jest tutaj. Zatem przejdźmy sobie do konsoli, wpiszę composer
require. Podaję tę nazwę teraz
musimy poczekać aż composer doda to do pliku composer json po to żeby
można to zapisać było w repozytorium. No i oczywiście pobierze wszystkie pliki i umieści
je katalogu vendor. Okej, udało się i teraz
będziemy chcieli sobie od razu z tego skorzystać, jeżeli przeczytasz co jest na tej
stronie to ja już nic więcej nie muszę ci pokazywać ale oczywiście tak czy siak to zrobię. Gdybyś
potrzebował dodatkowej konfiguracji i wpisujesz takie polecenie i będziesz miał utworzony
w katalogu config odpowiedni plik konfiguracją natomiast my tak naprawdę
nic więcej nie potrzebujemy a tylko skorzystać z takiej
fasady która nas jest teraz dostępna, w widokach również jest to gravatar src
i podajemy adres email, to możemy podać jeszcze szerokość takiego obrazka,
zatem bardzo prosto możemy to wykorzystać, przyjdziemy tam gdzie mamy
komentarze, jest to tutaj. Do tej pory mieliśmy na sztywno wstawiony
taki oto avatar, a teraz zastąpimy to wywołaniem gravatar src.
Musiałem podać email, więc my ten email mamy pod comment author
dzięki relacji i email i jako drugi parametr podamy
na przykład, że chcemy 100 pikseli. Wystarczy, że to zapisze przechodzę
do dowolnego wpisu. Okej tutaj akurat nie ma komentarzy.
Może uda nam się trafić na taki który komentarzy ma. Dokładnie tak i zauważ
jeżeli dla tych emaili w serwisie gravatar takie email nie ma skonfigurowanego
avatara to taki domyślny będzie zwracany. Oczywiście jeżeli tutaj podejrzysz
to będzie to ścieżka dokładnie z gravatar com, ale ja
jestem zalogowany na swojego użytkownika, który ma taki email który
ma skonfigurowany gravatar, dlatego dodamy sobie tutaj jakiś komentarz. To
jest comment, wystarczy, dodajemy i jak widzisz moje zdjęcie
się tutaj pojawiło zatem zobacz jak bardzo łatwo można było dodać do naszego
serwisu korzystanie z gravatarów. Jedną komendę tylko musieliśmy
wpisać, czyli composer require, a następnie dodać jedną linijkę w odpowiednim
miejscu i tak naprawdę wszystko jest już gotowe. Oczywiście ta paczka pod spodem
musi wykonać trochę pracy, żeby nam to odpowiednio wszystko wczytać,
ma ona również opcję konfiguracyjne jeżeli chciałbyś ją bardziej dostosować,
ale to co jest ważne, ona jest dostosowana do framework'a laravel,
który wymusza taki sposób pisania tych rozszerzeń, żeby one były jak
najprostsze w użyciu i zapewniam cię, że większość tych które znajdziesz, będą bardzo
łatwe użyciu.