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
Zanim rozpoczniesz wraz ze mną naukę framework'a laravel, chciałbym ci jeszcze pokazać
co dokładnie stworzymy w tym kursie. Od początku do końca będziemy pracować nad jedną
aplikacją. Nie będzie lekcji teoretycznych, bo w każdej lekcji będziemy skupiać
się właśnie na tej aplikacji i będzie to blog o nazwie larablogger. Podstawą
jego funkcjonalnością będzie wyświetlanie dwóch rodzajów wpisów. Jeden wpis może
być to wpis o typie photo, inny wpis to może
być opis tekstowy. Ten photo będzie zawierał oczywiście zdjęcie, tekstowy
zdjęć miał nie będzie. Każdy z wpisów może mieć tagi, które będziemy
mogli dowolnie dodawać. Dodatkowo pokazuje tutaj datę w
taki sformatowany sposób i autora tego wpisu. Po kliknięciu na tag będziemy
przechodzili na stronę tagu gdzie zobaczymy wszystkie wpisy które tak tag mają przypisany. Dodatkowo
zaimplementujemy paginację, która będzie wyglądać właśnie tak. Pod
stronę z wpisem, gdzie można dodawać komentarze. Przy
wpisie tekstowym ta podstrona wygląda tak i tutaj mamy komentarze. Komentarze
będą mogli dodawać wyłącznie zalogowani użytkownicy. Będziemy wyświetlać ich
gravatar'y z serwisu gravatar.com. Kolejną rzeczą którą będziemy
chcieli zrobić będzie strona O mnie. Będzie wyglądać następująco. Następnie
kontakt. Kontakt będzie pozwalał na wysyłanie wiadomości, oczywiście wszędzie będziemy
również mieli walidacje i takie komunikaty, które będą się pojawiać. Wygenerujemy
sobie również RSS Feed, żeby można było przeglądać naszą stronę w różnych czytnikach
i zaimplementujemy wyszukiwarkę, która pomoże nam wyszukiwać. Wpiszemy na
przykład a bo nie pamiętam tytułów i znajdziemy wszystkie które mają literkę a
w tytule. Tak będzie wyglądać ta wyszukiwarka. Dodatkowo stworzymy
system logowania i rejestracji. Każdy użytkownik będzie mógł się tutaj zarejestrować,
zresetować swoje hasło i oczywiście się zalogować. Jeżeli
użytkownik się zaloguje i jest administratorem, będzie widział dodatkowy
link w menu, który będzie określony jako create. Za jego
pomocą utworzyć będzie można nowy wpis, gdzie nadamy tytuł. Wybierzemy typ
Text lub Photo. Możemy wybrać datę. Podać tagi, w taki oto
sposób. Oznaczyć czy wpis jest opublikowany i czy jest wpisem Premium. Następnie
dodać zdjęcie i wpisać treść za pomocą edytora What you see is you get. Oczywiście
każdy wpis również będzie można edytować i tylko admin będzie mógł to robić. Przy
edycji wszystkie dane będą już tutaj wczytane, również dodatkowo pojawi się link
do usuwania wpisu. Jeżeli wpis oznaczony jako wpis Premium to
wtedy będą go widzieć wyłącznie użytkownicy zalogowani i będzie się przy nim pojawiała
taka oto gwiazdka. Jak zatem widzisz całkiem sporo dzieje
się w naszym serwisie i zobaczysz jak od podstaw zrobić to wszystko w
laravel, gdzie będziemy projektować swoją bazę danych, tworzyć modele, kontrolery i
widoki. Jeśli ten projekt ci się podoba, zapraszam cię już do kolejnych lekcji.