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 jaki sposób skonfigurować bazę danych i znowu
u szybka uwaga. Jeżeli pracujesz na Macu i nie pracujesz z laravel homestead tylko
wybrałaś valet to będziesz musiał przejść sobie do terminala i w
terminalu wpisać mysql minus u root minus p i puste
hasło i jesteś tutaj od razu w bazie danych. Wtedy musisz
utworzyć nową bazę danych wpisując na przykład create database larablogger.
W ten sposób i następnie będziesz
musiał podać odpowiednie dane do logowania. Pamiętaj że będzie to root puste hasło. Natomiast
jeżeli nie pracujesz z valet to tak jak w tym kursie będziemy pracować
wykorzystując bazę danych dostępną wewnątrz naszej maszyny wirtualnej,
przejdźmy do niej tutaj czyli jestem już zalogowany
po ssh do naszej maszyny wirtualnej. Jeżeli wpiszemy mysql minus u to mamy
użytkownika o nazwie homestead i hasło do
niego to jest secret, okej. I tutaj
jeżeli wpiszemy show data bases to
się okaże że mamy już wybraną przez wcześniej pliku homestead yaml bazy danych larablogger,
więc będziemy chcieli skonfigurować do niej odpowiednie połączenie. Zrobimy
to przechodząc do pliku env i musimy tutaj podać DB
Connection MySQL, adres, zauważ że go nie zmieniamy na ten
na który kieruje nasza maszyna bo to jest wykonywane właśnie na tej maszynie wirtualnej więc
na niej jest uruchomiony serwer. Nic nie zmieniamy. Nazwę bazy danych zmienimy sobie
tylko na larablogger, użytkownik homestead i hasło secret nie
musimy tutaj już nic więcej zmieniać. Kiedy będziesz swoją aplikacje puszczał
do produkcji ten plik trzeba będzie oczywiście odpowiednio zaktualizować o czym będziemy
mówić później i tak jak ci pokazywałem w poprzedniej lekcji gdzieś tutaj w config
i następnie prawdopodobnie database będzie
DB_CONNECTION. Będzie jak możesz zobaczyć DB_PORT, DB_DATABASE,
to są wszystkie te rzeczy zaciągane właśnie pliku env, okej i
teraz to baza danych już nam działać powinna. Natomiast chciałbym jeszcze móc do
tej bazy danych się w jakiś sposób logować kiedy będziemy chcieli ręcznie coś dodać czy usunąć.
Ja na co dzień na Macu korzystam z takiego programu który nazywa
się sequel pro. Jest darmowy i jest kapitalny więc polecam ci go jeżeli pracujesz
na Macu. Natomiast żebyśmy mogli wspólnie w tym kursie pracować i dokładnie w taki
sam sposób to wykorzystamy sobie darmową aplikacje do Chrome która
nazywa się Chrome MySQL Admin. Instalujemy ją klikając tutaj właśnie
w ten sposób. Ona nam się pobierze i zainstaluje. Utworzymy sobie do niej skrót
i będziemy na nim pracować, więc również sobie ją zainstaluj, a wtedy na pewno będziesz
wszystko miał dokładnie tak jak ja przez cały ten kurs. Aplikacja się tutaj pojawiła
ja zrobię jeszcze create shortcut. On się tutaj utworzył i ja
po prostu przeciągne go sobie na pulpit w taki oto sposób, okej
i teraz jeżeli tą aplikację sobie uruchomimy to za jej pomocą będziemy
mogli zalogować się do bazy danych i teraz tutaj jest ważne żeby podać
odpowiedni hostname. Zauważ, że ja jestem u siebie na Macu a chcę połączyć do bazy
danych, która jest wewnątrz naszej maszyny wirtualnej. Jak pamiętasz
myśmy skonfigurowali w pliku homestead.yaml, że ta baza danych jest
pod adresem 192.168.10.10.
Standardowy port, tutaj nazwiemy sobie to larablogger
user name to jest homestead i hasło
to jest secret. Wybiorę add as favourite
i będziemy się mogli teraz do niej podłączyć. Zobaczmy udało się do tej bazy
podłączyć tutaj wybierzemy jeszcze larablogger z tej listy okej
i mamy dokładnie naszą bazę danych. Jak
widzisz w tej bazie danych nic nie ma ale tym zajmiemy się później. Ta
aplikacja natomiast pozwoli nam edytować jakieś wiersze i wykonywać tutaj dużo rzeczy
które będą nam potrzebne abyśmy mogli pracować nad naszą aplikacją,
więc w tej lekcji to tyle. Od kolejnej zaczynamy już powoli tworzenie naszej
aplikacji jaką będzie blog.