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 mamy już wygenerowane slugi dla każdego posta to chciałbym
teraz generować odpowiednie linki bo będziemy chcieli ten slug dodać do URL'a,
więc pokażę ci jak można za pomocą Helpera, który już znasz wygenerować
odpowiednie linki. Okej, czyli przejdziemy sobie do resources views i do pages
i następnie posts i tutaj gdzie mieliśmy linki, zauważ, że robiliśmy to ten
sposób, posts i posts id. Bardzo często spotkasz się tym, że
tak właśnie jest to opisane, aczkolwiek pokazywałem wcześniej, że jedna to lepsze rozwiązanie, więc
przejdziemy sobie najpierw do web i tutaj gdzie mieliśmy właśnie naszą
ścieżkę, będziemy chcieli ją nazwać. Zrobimy
name i może zrobimy sobie taki z namespace'm, można powiedzieć,
taką nazwę czyli posts i powiedzmy single. Coś tym stylu, żebyśmy
wiedzieli o co chodzi. Tutaj moglibyśmy iść po prostu posts. Możesz to nazwać dowolnie, tutaj
potrzebujemy mieć parametr post, ale będziemy go chcieli zmienić
za momencik. Okej, może od razu nawet to zróbmy wpisz mi tutaj
slug i teraz będziemy mogli z tego
Helper'a skorzystać, czyli zrobimy tutaj coś takiego i napiszemy route.
Pamiętasz jak z niego korzystaliśmy. Podamy nazwy którą przed momentem ustaliliśmy,
czyli posts single. No właśnie i teraz w jaki sposób tutaj przekazać
ten slug, który jest nam potrzebny. Na to jest kilka możliwości. Możemy jako drugi parametr
podać sobie taką tablicę i w niej możesz napisać slug
i podać jego wartość, czyli tym przypadku byłoby to post slug. Natomiast
można to zrobić jeszcze prościej, jeżeli mamy jeden
taki parametr, to można go od razu tutaj podać, czyli w sumie możemy to wyciąć, wstawić
w tym miejscu i mówimy route to jest post single i przekazujemy wartość
która ma zostać podstawiona pod pierwszy tutaj parametr, który jest potrzebny, OK,
w zasadzie możemy sobie to skopiować i wstawimy również tutaj gdzie było read more
oraz wstawimy do linku w przypadku posta ze
zdjęciem, bo będzie to wyglądać dokładnie tak samo. Okej, odświeżmy i zobaczymy
po najechaniu od razu widzimy na pasku u dołu, że mamy poprawny
adres URL, również tutaj. Natomiast po przejściu do pojedynczej
strony, niestety nam to nie zadziała nic tutaj się specjalnego nie pokazało, to
wynika tego że musimy jeszcze odpowiednio dostosować sobie nasz kontroler
i zrobimy to lekcji kolejnej.