Web development z Laravel i PHP + aplikacja mobilna
4.1 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
419 students enrolled

Web development z Laravel i PHP + aplikacja mobilna

Wejdź Na Zaawansowany Poziom Tworzenia Aplikacji Internetowych We Frameworku Laravel
4.1 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
419 students enrolled
Last updated 11/2019
Polish
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 24.5 hours on-demand video
  • 2 articles
  • 72 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Poznasz bardzo popularny framework Laravel
  • Nauczysz się jak tworzyć aplikacje internetowe z opcjonalną wersją na smartfony
  • Zrozumiesz również trudniejsze zagadnienia jak wzorce projektowe
  • Zdobędziesz bardzo dobre i złożone ćwiczenie praktyczne
  • Stworzysz zaawansowaną aplikację internetową - system rezerwacyjny z wersją mobile na smartfony
  • I wiele innych
Course content
Expand all 72 lectures 24:17:12
+ Web development z Laravel + aplikacja mobilna
71 lectures 24:16:42

Wstęp do kursu. Omówienie tworzonej aplikacji internetowej i hybrydowej aplikacji mobilnej. Wymagania dla uczestnika kursu.

Preview 23:49
Zanim rozpoczniesz kurs
02:05
Omówienie template utworzonego z wykorzystaniem: Twitter Bootstrap, Bootswatch, jQuery, jQuery Datepicker, w3chools, lorempixel.
Omówienie template
16:41

Omówienie metod instalacji serwera dla aplikacji Laravel: Ubuntu Linux, Laravel Valet, Homestead (Vagrant Box), Xampp, WampServer. Wymagania serwera dla aplikacji Laravel. Instalacja Laravel.

Sposoby instalacji serwera lokalnego dla Laravel
05:30

Kopiowanie template do Laravela. Instalacje paczek JavaScript, konfiguracja Laravel-Mix.

Przenosiny template do Laravela cz.1
07:27

Kontynuacja przenosin template do systemu szablonowego Laravel Blade. Elementy routingu.

Przenosiny template do Laravela cz.2
21:14

Zakończenie przenosin template do systemu szablonowego Laravel Blade. Wykorzystanie kontrolerów i Laravel Artisan. Tłumaczenia językowe routingu.

Przenosiny template do Laravela cz.3
22:36

Logowanie, rejestracja, przypomnienie zapomnianego hasła.

Logowanie, rejestracja
27:36

Zaprojektowanie bazy danych poprzez stworzenie migracji w Laravel.

Projekt bazy danych. Migracje cz.1
19:11

Zaprojektowanie bazy danych poprzez stworzenie migracji w Laravel.

Projekt bazy danych. Migracje cz.2
14:22

Wypełnienie bazy danych przykładowymi danymi generowanymi automatycznie przy pomocy biblioteki Faker.

Preview 22:44

Wypełnienie bazy danych przykładowymi danymi generowanymi automatycznie.

Laravel Seeder cz.2
20:38

Lista obiektów na stronie głównej. Wykorzystanie wzorca Repository Pattern. Tworzenie modeli w Artisan.

Preview 10:44

Lista obiektów na stronie głównej. Wykorzystanie wzorca Repository Pattern. Interfejs.

Lista obiektów na stronie głównej cz.2
12:22

Lista obiektów na stronie głównej. Wyświetlanie danych w widoku. Modele, relacje jeden do wielu oraz polimorficzna jeden do wielu.

Lista obiektów na stronie głównej cz.3
14:45

Instalacja Laravel Debugbar. Paginacja listy obiektów, sortowanie. Eager loading. Szczegóły obiektu turystycznego.

Widok szczegółów obiektu turystycznego cz.1
12:35

Listowanie szczegółów obiektu turystycznego. Relacje w bazie danych w tym polimorficzne. View Composer. Tworzenie zależnych modeli. Wzorzec Presenter. Traity w PHP.

Widok szczegółów obiektu turystycznego cz.2
46:52

Autocomplete jquery. Wzorzec Gateway. Dynamiczne wyszukiwanie miast w formularzu wyszukiwarki wyszukującej pokoje do wynajęcia.

Wyszukiwarka na stronie głównej cz.1
36:47

Kontynuacja wyszukiwania pokoi do wynajęcia. POST Request w Laravel.

Wyszukiwarka na stronie głównej cz.2
22:35

Filtrowanie listy pokoi do wynajęcia z danego miasta. Relacja hasManyThrough. Widok listy wyszukiwania. Zapamiętywanie danych w formularzu.

Wyszukiwarka na stronie głównej cz.3
34:07

Dane pokoju w obiekcie turystycznym. Wyciąganie danych ajaxem dla kalendarza dostępności. Kalendarz jQuery Datepicker. Odseparowanie skryptu java script dla konretnego widoku w Laravel Blade.

Szczegóły pokoju w obiekcie turystycznym cz.1
27:30

Wyświetlanie dat niedostępności pokoju w szczegółach pokoju turystycznego. Opcje kalendarza Datepicker. Wykorzystanie Chromium Dev Tool do debugowania.

Szczegóły pokoju w obiekcie turystycznym cz.2
19:49

Szczegóły artykułu. Relacje bazodanowe.

Szczegóły artykułu obiektu turystycznego
19:54

Wyświetlenie szczegółów użytkownika we frontendzie. Traity, presentery. Polimorficzne wyświetlenie typu komentowalnego obiektu w widoku użytkownika.

Szczegóły użytkownika aplikacji
29:12

System polubień i odlubień obiektów turystycznych i artykułów. Middleware auth dla wybranych metod frontendu. Dodawanie i usuwanie obiektów do modeli zależnych w relacjach bazodanowych. Skróty szablonowe Blade dla stanu autentykacji (zalogowania). Odpytywanie zależnych relacji bazodanowych.

Polubienia obiektów turystycznych i artykułów
27:44

Polimorficzne dodawanie komentarzy do artykułów i obiektów turystycznych. Walidacja formularzy.

Dodawanie komentarzy
31:05

Rezerwacja pokoju w obiekcie turystycznym. Zabezpieczenie przed Mass Assignment.

Rezerwacja pokoju w obiekcie turystycznym
33:15

Gateway Pattern i Repository Pattern dla panelu administracyjnego. Logika biznesowa w obiekcie gateway. Obsługa ról użytkownika w systemie. Metody pobierające dane dla kalendarza turysty i właściciela obiektu.

Kalendarz rezerwacji cz.1
22:17

Zapytania do bazy danych zwracające powiązane obiekty dla kalendarza rezerwacji turysty i właściciela obiektu. Wykorzystanie metod has() i whereHas() w Eloquent ORM. Funkcje anonimowe w Eloquent ORM.

Kalendarz rezerwacji cz.2
24:17

Wstępne przygotowanie widoku kalendarzy z rezerwacjami.

Kalendarz rezerwacji cz.3
14:46

Pobranie danych backend z repozytorium dla każdego kalendarza. Zwrócenie ich w postaci json. Trait dla zapytań ajaxowych. Przygotowanie html do wczytania danych ajaxowych. Utworzenie obiektów JavaScript organizujących kod jQuery.

Kalendarz rezerwacji cz.4
57:50

Poprawki lekcji poprzedniej.

Kalendarz rezerwacji cz.5
03:05

Utworzenie JavaScript-u dla każdego kalendarza rezerwacji. Uzupełnienie tabeli html o dane rezerwacji pobrane ajaxem z backendu.

Kalendarz rezerwacji cz.6
29:38

Zakończenie uzupełnienia tabeli html o dane rezerwacji pobrane ajaxem z backendu.

Kalendarz rezerwacji cz.7
12:03

Dynamiczne pobieranie zalogowanego użytkownika. Jquery events. Atrybut novalidate w formularzu. View composer. Utrzymanie pozycji paska przewijania po przeładowaniu strony.

Uzupełnienia w aplikacji
30:17

Potwierdzanie i usuwanie rezerwacji z kalendarza. Komunikaty o usunięciu rezerwacji. Autoryzacja zalogowanego użytkownika do wykonania akcji usuwania i potwierdzania - Laravel Policies.

Potwierdzanie i usuwanie rezerwacji z kalendarza
36:18

Zastrzeżenie akcji w systemie w zależności od roli użytkownika. Middleware. Wybór rejestracji w systemie jako turysta lub właściciel obiektu turystycznego.

Obsługa ról użytkowników w systemie
17:07

CRUD controller w Laravel. Wyciąganie danych miasta z bazy danych. Kod zapisu miast do bazy danych.

Miasta obiektów turystycznych cz.1
25:15

Dokończenie obsługi miast. Walidacja formularzy. Sortowanie danych tabeli w bazie danych.

Miasta obiektów turystycznych cz.2
23:44

Szczegóły profilu użytkownika. Obsługa różnych typów requestów przez jeden route. Autoryzacja do usuwania fotografii.

Profil użytkownika cz.1
29:02

Upload zdjęcia użytkownika na serwer. Usuwanie zdjęcia, edycja. Autoryzacja usuwania zdjęcia.

Profil użytkownika cz.2
24:30

Szkielet metody w kontrolerze dla operacji na obiekcie turystycznym.

Dodawanie i edycja obiektu turystycznego cz.1
19:26

Uzupełnienie repozytorium i gateway dla operacji na obiekcie turystycznym.

Dodawanie i edycja obiektu turystycznego cz.2
16:13

Upload plików graficznych obiektu turystycznego. Reguły walidacji dla plików graficznych.

Dodawanie i edycja obiektu turystycznego cz.3
11:36

Uzupełnienie widoku dla szczegółów obiektu turystycznego w panelu administracyjnym.

Dodawanie i edycja obiektu turystycznego cz.4
25:06

Uzupełnienie metod dla dodawania i usuwania artykułów dla obiektu turystycznego. Autoryzacja dla usuwania i dodawania artykułu dla obiektu turystycznego.

Dodawanie i edycja obiektu turystycznego cz.5
22:03

Lista obiektów turystycznych właściciela. Autoryzacja usuwania obiektu turystycznego.

Lista obiektów turystycznych właściciela cz.1
12:14

Kod backend odpowiedzialny za zapisywanie pokoju dla obiektu turystycznego.

Lista obiektów turystycznych właściciela cz.2
20:28

Dokończenie kodu odpowiedzialnego za pokoje w obiekcie. Uzupełnienie pliku widoku.

Lista obiektów turystycznych właściciela cz.3
19:28

Utworzenie i wykorzystanie zmiennej dostępnej dla każdego widoku backend przechowującej powiadomienia dla zalogowanego użytkownika.

System powiadomień cz.1
12:58

Update klikniętego powiadomienia w bazie danych za pomocą jQuery, ajax i obiektów JavaScript. Licznik powiadomień.

System powiadomień cz.2
30:22

Wykorzystanie Memcached i pamięci RAM serwera do powiadomień w czasie rzeczywistym.

System powiadomień cz.3
34:37

Kod dla powiadomień w czasie rzeczywistym - ustawianie notifikacji pokazanych i wyświetlanie ich.

System powiadomień cz.4
23:54

Uzupełnienie systemu powiadomień o kod dla aplikacji hybrydowej.

System powiadomień cz.5
04:35

Dwa eventy w aplikacji Laravel - potwierdzenie rezerwacji i złożenie rezerwacji. Współpraca eventów i listenerów z systemem powiadomień w czasie rzeczywistym.

Eventy i listenery
25:17

Utworzenie cache-repozytorium dla frontendu. Warunki na czyszczenie cache. Rejestracja nowego repozytorium w kontenerze obiektów.

Cache-owanie aplikacji
18:30

Instalacja i konfiguracja Redis do obsługi cache i sesji użytkownika.

Redis server
11:53

Komendy do uruchamiania i restartowania Redis w Linux Ubuntu.

Uruchamianie i restartowanie Redis
00:32

Instalacja i konfiguracja paczki do autentykacji i autoryzacji za pomocą tokenów JWT. Zmiana kodu Laravel w celu obsłużenia dwóch metod autentykacji i autoryzacji.

Logowanie JWT cz.1
16:38

Dalsza zmiana kodu Laravel w celu dostosowania do obsłużenia dwóch rodzajów autentykacji i autoryzacji - jednego opartego o standardowy mechanizm sesji i drugiego opartego o tokeny JWT. Headery CORS.

Logowanie JWT cz.2
06:33
Kontynuacja zmian kodu Laravel w celu stworzenia uniwersalnego API obsługującego aplikację z przeglądarki www jak i aplikację mobilną z telefonu.
Logowanie JWT cz.3
12:26

Zakończenie dostosowania kodu do aplikacji mobilnej hybrydowej. Testy przy pomocy Postman i Postman Interceptor.

Logowanie JWT cz.4
16:10

Poprawki aplikacji webowej, dodatkowe informacje.

Poprawki aplikacji webowej
10:30
Instalacja aplikacji hybrydowej za pomocą Apache Cordova. Konfiguracja Datepicker. Obiekty JavaScript.
Aplikacja hybrydowa Enjoythetrip
27:47

Metody obiektu App dla aplikacji hybrydowej.

Obiekt App w JavaScript cz.1
27:16

Metody obiektu App dla aplikacji hybrydowej. Plugin dla Apache Cordova do powiadomień.

Obiekt App w JavaScript cz.2
23:08

Metody obiektu App dla aplikacji hybrydowej.

Obiekt App w JavaScript cz.3
16:44

Logowanie do aplikacji hybrydowej.

Logowanie do aplikacji hybrydowej
14:44

Sterowanie aplikacją hybrydową.

Sterowanie aplikacją hybrydową cz.1
11:22

Sterowanie aplikacją hybrydową. Obsłużenie eventów typu click.

Sterowanie aplikacją hybrydową cz.2
12:44

Obiekt Html aplikacji hybrydowej. Zakończenie kursu.

Obiekt Html aplikacji hybrydowej. Gratulacje!
18:10
+ Upgrade guide
1 lecture 00:29
Upgrade Laravel from 5.8 to 6.0
00:29
Requirements
  • PHP na poziomie podstawowym
  • Podstawy programowania obiektowego
  • Podstawy HTML, CSS, Java Script, jQuery, SQL
  • Umiejętność instalacji i konfiguracji oprogramowania na Windows lub Linux (w kursie omawiam oprogramowanie do zainstalowania bez instalacji w trakcie kursu)
  • Umiejętność instalacji serwerów lokalnych np Xamp, Wamp, Vagrant, Linux itp (w kursie omawiam oprogramowanie do zainstalowania bez instalacji w trakcie kursu)
  • Podstawy MVC - Model View Controller
Description

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).


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 7. 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.





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.

Who this course is for:
  • Dla każdego z chęciami i min. podstawową wiedzą z web development
  • Dla bardziej zaawansowanych web developerów chcących nauczyć się czegoś nowego
  • Dla junior web developerów z aspiracjami na middle i senior
  • Dla firm mających na celu szybkie tworzenie dobrych jakościowo webowych projektów biznesowych w popularnych i sprawdzonych technologiach typu open source