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 i w kilku kolejnych lekcjach porozmawiamy na temat wysyłania
maili z użyciem laravel'a. Jak widzisz jesteśmy na stronie dokumentacji
laravel'a właśnie w sekcji mail, dlatego że tutaj wszystko świetnie opisane i
odsyłam cię do tej dokumentacji jeżeli będzie cokolwiek czego będziesz się dowiedzieć
ponad to co ja ci pokażę i naprawdę warto do tej dokumentacji zaglądać
tutaj są bardzo czytelne przykłady które jeżeli u ciebie również przetestujesz
to na pewno o wiele z wyniesiesz, natomiast pokażę ci w tej lekcji w jaki
sposób możemy wygenerować tak zwane mailables i jak je podglądać
w przeglądarce, a w kolejnej lekcji zajmiemy się już ich wysyłaniem, tak więc
przejdźmy tutaj na naszą stronę zaraz będziemy na niej również podglądać
maila którego wygenerujemy ale najpierw przyjdziemy do konsoli i wpiszemy
php artisan make mail czyli komendy mail
już dużo razy korzystaliśmy i make mail wygeneruje nam taką
klasę, która będzie rozszerzała mailable, ale zaraz to zobaczysz
i możemy sobie to dowolnie nazwać, będziemy chcieli w przyszłej lekcji wysłać
email do użytkownika kiedy zostanie on poprawnie zarejestrowany, więc
możemy tutaj nazwać to UserRegistered. Wciskam
enter i co ciekawe tutaj w katalogu app pojawi nam nowy
katalog mail, którego tutaj wcześniej nie było i to też ci pokazuje, że niektóre komendy
artisan make tworzą nam tutaj dodatkowe
katalogi których nie ma tutaj od początku i mamy naszą klasę UserRegistered,
oczywiście odpowiedni namespace jest użyty i tak dalej i ona rozszerza
właśnie klasy mailable, czyli mailable, są to takie obiekty, które mogą
być wysłane za pomocą maila i będziemy to robić lekcji kolejnej
i teraz jak widzisz tutaj jest jakiś widok zwracany. No właśnie to będziemy chcieli
sobie dostosować, czyli widok będziemy mieli w katalogu views
i następnie emails i tutaj możemy stworzyć kolejny
podkatalog, ale ja już od razu utworze plik w katalogu emails i nazwiemy go
na przykład registered i teraz
oczywiście musimy taki plik utworzyć, tutaj views, więc
będzie to emails, taki będzie katalog i plik registered
blade php oczywiście takie samo rozszerzenie jak wcześniej i to będzie
dokładnie ten email który wyślemy do użytkownika. Czyli możesz
tutaj dowolny kod HTML sobie wstawić, możesz skorzystać w internecie takich generatorów
ładnych maili lub na przykład z mojego warsztatu na eduweb na temat kodowaniu
newsletter'ów. Natomiast ja tutaj będę chciał wstawić taki prosty kod i będzie
to wyglądać następująco. Powiemy sobie high i chcemy tutaj wyświetlić
imię użytkownika, imię i nazwisko. Za moment ci pokażę jak tutaj przekazać obiekt
user, ale kiedy ten obiekt będziemy tutaj mieli, to mamy tam coś takiego jak name,
będzie to oczywiście cały ten model tak jak w tej pory, już użytkownika
widzieliśmy i korzystaliśmy z jego różnych atrybutów. No i możemy
tutaj jeszcze oczywiście dopisać, że dzięki za zarejestrowanie się na stronie, więc wpiszę
tutaj taki komunikat, myślę, że coś takiego będzie w porządku ale
jeszcze możemy sobie tym miejscu utworzyć link. Więc zróbmy coś takiego i
skorzystamy z funkcji URL, tutaj wszystkie te funkcje które wcześniej widokach wykorzystywaliśmy również
będą dostępne. Chcemy zrobić pełny adres do strony głównej i tutaj piszemy nazwę
bloga, okej i teraz musimy się
skupić na tym w jaki sposób możemy przekazać dane do tego mailable, bo w dokumentacji
to znajdziesz, ale ja ci również powiem, że w momencie tworzenia nowej instancji klasy
UserRegistered, oczywiście wywoła się konstruktor i tutaj przekażemy
sobie instancje użytkownika i przypiszemy ją to this user i
to sprawi nam że będziemy mieli tutaj dostęp do username,
nie musimy do tego widoku nic przekazywać, ale bardzo ważne jest dodanie tutaj
wcześniej public user. Jeżeli tego niezadeklarujemy, to
nie będzie to dostępne w widoku. Jeżeli natomiast to zadeklarujemy to przy tworzeniu tej nowej
instancji przekażemy użytkownika i oczywiście tutaj musimy go przepisać, w ten
sposób i automatycznie wszystkie te publiczne właściwości dodane tutaj,
będą dostępne również w widoku i na koniec tej lekcji pokażę
ci jeszcze jak podejrzeć sobie tak mail, bo tak jak mówiłem utaj możesz mieć kod html, może
to jakoś ładnie wyglądać i chciałbyś go nie wysyłać i na przykład wtedy dopiero podglądać w mailtrap,
ale od razu podejrzeć to w przeglądarce. Jest to bardzo proste, przyjdziemy sobie do
routes i dodamy taki prosty route, możemy
ścieżkę nazwać na przykład mail i tutaj
pobierzemy sobie na przykład pierwszego użytkownika, musimy pełny namespace podać
tutaj App User first i następnie zwrócimy
prosto z tego kontrolera new i odwołamy się
do tego właśnie mailable wygenerowanego, czyli będzie to App Mail, bo po namespace
idziemy UserRegistered. No i właśnie w tym miejscu przekazujemy
user, tutaj przekazuje user'a, on
wpada nam w to miejsce. Jest przypisywany do tej instancji i następnie
w widoku jest już dostępny i możemy to wyświetlić. Zatem jeżeli przejdziemy
do przeglądarki i tutaj wpiszę ukośnik mail, to
zauważ, że dokładnie to nasze mailable, cały nasz widok jest tutaj pokazany, nie
mamy do niego żadnych styli, więc nie wygląda to zbyt elegancko, ale w ten dokładnie sposób możesz
testować swoje szablony również z danymi. Poza
tym tyle, w kolejnej lekcji pokażę ci jak faktycznie takiego maila wysłać.
https://eduweb.pl/live/techniki-kodowania-newsletterow
https://eduweb.pl/live/techniki-kodowania-newsletterow
registered.blade.php · 3 min
<p>Hi {{ $user->name }}!</p>
<p>Thank you for registering on our blog!</p>
<p>You have now access to all premium content on <a href="{{ url('/') }}">LaraBlogger</a>.</p>registered.blade.php · 3 min
<p>Hi {{ $user->name }}!</p>
<p>Thank you for registering on our blog!</p>
<p>You have now access to all premium content on <a href="{{ url('/') }}">LaraBlogger</a>.</p>registered.blade.php · 3 min
<p>Hi {{ $user->name }}!</p>
<p>Thank you for registering on our blog!</p>
<p>You have now access to all premium content on <a href="{{ url('/') }}">LaraBlogger</a>.</p>