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
Ta lekcja będzie bardzo podobna jak poprzednia, bo zajmiemy się dodaniem statycznej strony
ale chciałbym jeszcze kilka słów do tego dorzucić dlaczego zrobimy tak a nie inaczej, czyli
chciałbym dodać stronę o mnie i o co chodzi że będzie statyczna strona
która w naszym kursie nigdy nie będzie dynamiczna i tam nie będzie dynamicznie
wczytywanych danych a zatem będzie to zwykła strona HTML'owa podobnie jak
to co zrobiliśmy do tej pory i dlaczego o tym mówię. Otóż po to żebyś wiedział
że nie ma nic złego w tym że niektóre podstrony twojego serwisu będą po prostu statyczne,
nie do wszystkiego musi być zarządzanie, bo do części tego serwisu zarządzanie
zrobimy i w zależności od tego czy ten serwis jest dla ciebie czy dla klienta czy
będzie często aktualizowany czy nie. Część stron może być statycznych nie ma w tym
zupełnie nic złego, dlatego chciałbym w pages utworzyć sobie nową stronę którą nazwiemy
about blade PHP i będziemy mogli sobie z post
skopiować to co mieliśmy wcześniej żeby rozszerzać layout master i tutaj
napisać About me, okej. I teraz znowu zrobimy
sobie section content i pamiętaj o end section,
tutaj będziemy mogli sobie wstawić odpowiednią treść i przejdziemy
sobie naszego katalogu HTML, w którym mamy wszystkie podstrony. Następnie
do about i będziemy chcieli skopiować to co znajduje się w main content
czyli konkretnie jest to ten oto element, wrzucę go w to miejsce,
okej i mamy tutaj również odwołanie
do obrazka, ale o tym za sekundę. Teraz będziemy chcieli przejść do web
i będziemy chcieli utworzyć tutaj nową ścieżkę więc
mogę to wszystko skopiować i nazwiemy ścieżkę about me i będzie
ona kierować na posts pages about, okej. I w
zasadzie teraz możemy jeszcze w naszym głównym layout'cie, czyli w master dobrać
sobie tutaj odpowiedni link. Z tymi linkami jeszcze w kolejnej lekcji będziemy pracować,
ale na razie możemy spokojnie taki link tutaj dodać i jeżeli naszą
stronę odświeżymy to about me będzie już kierować na odpowiednią podstronę i jak widzisz
wszystko zadziała poprawnie. Obrazek również nam się wczytał. Natomiast
dobrą praktyką ogólnie jest to aby przy takich
zasobach jak właśnie obrazki podawać slash na początku żebyśmy
nie mieli tego problemu że na przykład nasza ścieżka będzie ścieżką zagnieżdżoną czyli
gdybyśmy mieli about me ukośnik jeszcze coś dalej to wtedy ten obrazek nie wczytał by się
poprawnie. Natomiast jeżeli podamy tutaj początku slash to on przy
wysyłaniu zapytania do serwera przeglądarka wie że musi wysłać pod główną domenę
ukośnik images avatar jpg i tak jak ci już mówiłem. Wszystkie
zapytania kierowane do naszego serwera zawsze będą przechodzić przez katalog public
dlatego tutaj mamy images i mamy tutaj ten oto avatar, okej
więc tak możemy dodać sobie stronę o mnie i dodaliśmy do niej
również routing który później jeszcze będziemy modyfikować.