To nie jest typowy kurs omawiający kolejne rozdziały dokumentacji. Stworzysz Praktyczną Aplikację Webową W PHP 7 Oraz pod koniec kursu Dodatkowo Wersję Na Smartfony Jako Hybrydowa Aplikacja Mobilna.
W trakcie kursu stworzysz aplikację internetową do rezerwacji miejsc noclegowych w obiektach turystycznych oraz dodatkowo w końcówce wersję hybrydową tej aplikacji jako aplikacja mobilna na smartfony. Zbudujesz uniwersalne API, które obsłuży zarówno aplikację webową (14 tabel w bazie danych) jak i hybrydową aplikację mobilną. W aplikacji użyjesz wszystkich dostępnych w Laravelu relacji bazodanowych - w tym polimorficznych, dzięki czemu aplikacja jest później łatwiejsza w modyfikacji i utrzymaniu. Poznasz popularne wzorce projektowe, dzięki którym późniejsze poruszanie się po kodzie i modyfikacje są łatwiejsze. Poznasz obiektowy Java Script, dzięki któremu kod jQuery będzie lepiej zorganizowany i czytelniejszy.
Ten kurs jest przeznaczony dla trochę bardziej zaawansowanych użytkowników. Nie jest to taki typowy kurs, bardziej tutorialowy, gdzie pokazuję jak zbudowałem od podstaw zaawansowaną aplikację internetową. W razie gdybyś czegoś nie rozumiał możesz zapytać w sekcji QA kursu, możesz też poszukać w google lub dokumentacji Laravela. Możesz również sięgnąć do wersji skróconej tego kursu (zobacz listę moich kursów na Udemy), gdzie nie skupiam się na pisaniu na ekranie lecz na dodatkowym tłumaczeniu zagadnień. Dla mniej zaawansowanych użytkowników polecam przerobić równocześnie obydwa kursy (nie najpierw jeden cały kurs potem drugi, tylko kolejne lekcje z obydwu kursów).
W tym kursie pokazuję kolejność tworzenia aplikacji tak aby jak najszybciej ją stworzyć. Oczywiście płynność tworzenia zależy od doświadczenia, w rzeczywistości aplikacji nie tworzy się tak płynnie jak to jest w kursie, bo jak nazwa wskazuje to jest kurs (taki tutorialowy) a nie pisanie na żywo. Średnio wprawiony full stack web developer stworzy taką aplikację od podstaw samodzielnie w kilkaset godzin (łącznie z planowaniem).
Kurs powstał na wersji Laravel 5.5. Pliki do lekcji kursu zostały zaktualizowane do wersji 5.8. Zobacz sekcję upgrade aby zaktualizować Laravela do następnych wersji (w tym Laravel 6).
Zagadnienia Laravel wykorzystane w kursie: instalacja, konfiguracja niezbędna do pracy, service container i bindowanie implementacji interfejsów do kontenera obiektów, fasady, wstrzykiwanie obiektów (zależności), routing, filtry (middleware), ochrona csrf, kontrolery, zapytania GET i POST, przekierowania http, widoki i system szablonowy Blade, helpery (np. funkcja route), sesje, walidacja formularzy, wielojęzykowość aplikacji www, Laravel Mix, autentykacja (logowanie) + autoryzacja (uzyskiwanie dostępu do zasobu na podstawie uprawnień), resetowanie zapomnianego hasła, polecenia konsoli Artisan, cache-owanie w Redis, eventy i listenery, upload plików, operacje na bazie danych: fluent query builder i eloquent orm, lazy i eager loading bazy danych, paginacja wyników z bazy danych, accessory, migracje bazy danych, seedery bazy danych, relacje w bazie danych: jeden do jednego, jeden do wielu, wiele do wielu, jeden do wielu poprzez model zależny (hasManyThrough), polimorficzna jeden do wielu, polimorficzna wiele do wielu. Ponadto: jQuery, jQuery Mobile, obiektowy Java Script. Gateway Pattern, Repository Pattern, Presenter Pattern, Singleton Pattern, interfejsy, traity, elementy PHP 7. Twitter Bootstrap zmodyfikowany przez Bootswatch. Apache Cordova. Autentykacja i autoryzacja JWT (Json Web Token).
Pamiętaj, że tylko praktyka czyni mistrza. Jeśli trzeba - przerób kurs dwa lub więcej razy. Notuj w trakcie kursu jak prawdziwy student. Korzystaj z dokumentacji, z wyszukiwarki Google. Wreszcie postaraj się napisać aplikację samodzielnie, niekoniecznie tą samą jak w kursie, możesz próbować coś zmienić, dodać itd. Żaden pojedyńczy kurs nie zrobi z ciebie bardzo dobrego web developera. Może jedynie mocno przybliżyć cię do tego celu. Im więcej praktyki tym lepiej.
QA:
Dlaczego używasz jquery mobile a nie inny framework ?
Aplikacja mobilna to nie główny temat kursu, to kilka ostatnich lekcji kursu. Poprzez zbudowanie aplikacji mobilnej pokazuję co można zrobić z Laravel. To są pewne generalne koncepcje, które później mogą być zastososowane przy innych frameworkach dla aplikacji mobilnych. Kurs skupia się na Laravelu i wzorcach projektowych. Jednak jquery nie zniknął z rynku. Wiele firm jeszcze go wymaga do utrzymywania istniejących stron czy nawet budowania nowych.
Stworzyłeś aplikację w tym kursie używając Laravel 5. Teraz mamy już Laravel 10. Czy to znaczy, że ten kurs jest przestarzały i niczego się z niego nie nauczę?
Absolutnie nie! W narzędziach takich jak frameworki PHP podstawy i bazowa składnia prawie nigdy się nie zmieniają niezależnie od wersji. Ale oczywiście każde utrzymywane oprogramowanie ewoluuje z biegiem czasu. Dlatego zawsze sugeruję abyś używał tej samej wersji oprogramowania jakiej używa instruktor. To zapobiega błędom i zakłopotaniu. Jako ktoś, kto chce się nauczyć tworzyć aplikacje internetowe, musisz mieć świadomość, że prawdziwy web development wymaga czasami dostosowania kodu do najnowszej wersji - ale nie zawsze jest to konieczne, nie każda firma dostosowuje swój soft do najnowszej wersji, która właśnie się pojawiła. Oprogramowanie zmienia się tak szybko, że instruktorzy nie nadążaliby z tworzeniem kursów, które pasują do najnowszej wersji oprogramowania, które jest tematem kursu. To nawet nie jest zalecane, bo jako student utraciłbyś ważny aspekt web developmentu jakim jest świadomość, że wszystko często się zmienia i trzeba umieć dostosowywać się do tego.