Backend Developer Bootcamp
Maciej Żukiewicz
PHP i bazy danych
Wstęp
A więc zaczynamy
- Na zdobycie jakich umiejętności nastawione jest to szkolenie?
- Jaką formę będzie miało to szkolenie i z jakich składników będzie się składało?
- Agenda - czyli jakie tematy będziemy podejmowali
- Plan harmonogramu
Na początku mamy do omówienia:
Na zdobycie jakich umiejętności nastawione jest to szkolenie?
Jakich umiejętności oczekuje rynek (pracodawcy, klienci)
Najważniejsze pytanie to:
99% ofert pracy wymaga znajomości przynajmniej jednego z najpopularniejszych frameworków (Laravel, Symfony, Nette, etc.). Wynika z tego, że po ukończeniu tego szkolenia uczestnik powinien:
Wynika z tego, że na szkoleniu powinniśmy położyć nacisk na:
1. Programowanie obiektowe
2. Współpracę z bazami danych
3. Naukę podstaw topowych frameworków - najlepiej na przykładzie wdrożenia w pełni funkcjonalnej aplikacji
Nie powinniśmy uczyć się "rzeźbienia" w czystym PHP!
Forma szkolenia
Elementy składowe szkolenia:
1. Spotkania na sali (co dwa tygodnie)
2. Spotkania Mastermind (co tydzień)
3. Praca indywidualna (najlepiej codziennie!) - najważniejszy element w całym procesie nauki
Proces nauki:
Omawiamy tylko minimalną, potrzebną teorię i rozwiązania w czystym PHP, aby jak najszybciej przejść do praktycznych projektów z użyciem frameworków.
Agenda szkolenia
2. Konfiguracja środowiska
- Instalacja środowiska uruchomieniowego (webserver + cli)
- Przegląd dostępnych edytorów i wybór odpowiedniego
- Uruchomienie pierwszego skryptu (webserver + cli)
- Czym jest PHP - jak powstał, do czego jest używany
- Czy warto jeszcze uczyć się PHP?
- Co jest ważne w nauce PHP?
1. Wstęp do PHP
Agenda szkolenia
3. Podstawy języka PHP
- Poznanie zasad składni języka
- Funkcje wyświetlające (echo, print, var_dump, print_r)
- Zmienne i stałe
- Typy danych
- Deklaracja typów i deklaracja strict_type
- Tablice i spread operator (indeksowane numerycznie oraz asocjacyjne)
- Instrukcje warunkowe, null coalescing operator, "spaceship" operator
- Pętle (while, do...while, for, foreach+referencja)
- Funkcje, wyrażenia funkcyjne, domknięcia (zwykłe, anonimowe, samowywołujące) oraz przekazywanie przez wartość i przez referencję
- Działania na stringach (cudzysłowy, apostrofy, konkatenacja, etc.)
- Zmienne superglobalne (predefiniowane)
- Stałe predefiniowane
- Wstawki PHP w HTML
- Ćwiczenia, ćwiczenia, ćwiczenia...
Agenda szkolenia
4. Podstawy programowania obiektowego
- programowanie obiektowe a proceduralne
- klasy, obiekty, interfejsy
- dziedziczenie, polimorfizm, hermetyzacja, abstrakcja
- kompozycja
- hermetyzacja i modyfikatory dostępu
- klasy i metody finalne
- traits
- właściwości i metody statyczne
- podstawy UML (diagramy klas)
- metody magiczne
- obsługa błędów
- przestrzenie nazw
- testy jednostkowe z PHPUnit oraz Test-driven Development (TDD)
- ćwiczenia, ćwiczenia, ćwiczenia...
Agenda szkolenia
5. Przykładowe realizacje w czystym PHP (minimum!)
- obsługa formularzy (walidacja, zapisywanie, etc.)
- upload, download i zarządzanie plikami
- mechanizm logowania i wylogowywania
- etc.
- czym są i do czego służą
- omówienie dostępnych rodzajów baz danych
- różnice między relacyjnymi i nierelacyjnymi bazami danych
6. Wstęp do baz danych
Agenda szkolenia
7. Podstawy pracy z relacyjnymi bazami danych
- projektowanie bazy danych w UML (diagram ERD)
- omówienie dostępnych silników baz danych
- omówienie narzędzi do pracy z bazą danych (CLI, phpMyAdmin, MySQL Workbench)
- implementacja projektu bazy danych z użyciem MySQL
- tabele, rekordy, indeksy, typy danych, etc.
- podstawy języka SQL (operacje DDL, DCL, DML, DQL)
- relacje
- złączenia tabel (INNER, LEFT, RIGHT)
- podzapytania
- transakcje
- ćwiczenia, ćwiczenia, ćwiczenia...
Agenda szkolenia
8. PHP we współpracy z relacyjnymi bazami danych
- wbudowane moduły do pracy z MySQL (mysqli, PDO)
- przykłady realizacji zapytań SQL
- kilka praktycznych realizacji z użyciem baz danych (rejestracja, logowanie, zapis formularza, etc.)
- projektowanie bazy danych
- omówienie dostępnych silników baz danych
- omówienie narzędzi do pracy z bazą danych
- implementacja projektu bazy danych z użyciem MongoDB
- operacje CRUD
9. Podstawy pracy z nierelacyjnymi bazami danych
Agenda szkolenia
10. PHP we współpracy z nierelacyjnymi bazami danych (MongoDB)
- konfiguracja połączenia z bazą danych MongoDB
- przykłady realizacji zapytań do bazy
- czym są frameworki i czym się różnią od bibliotek
- najpopularniejsze frameworki PHP
- realizacja w Laravel (!)
- realizacja w Symfony (!)
- realizacja w Nette (?)
11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP
Plan harmonogramu
| Dzień | Temat |
|---|---|
| 1 (pt) | 1. Wstęp do PHP 2. Konfiguracja środowiska |
| 2 (sob) | 3. Podstawy języka PHP (ćwiczenia wspólne) |
| 3 (pt) | 4. Podstawy języka PHP (ćwiczenia indywidualne) |
| 4 (sob) | 4. Programowanie obiektowe |
| 5 (pt) | 4. Programowanie obiektowe |
| 6 (sob) | 4. Programowanie obiektowe |
| 7 (pt) | 4. Programowanie obiektowe |
| 8 (sob) | 5. Przykładowe realizacje w czystym PHP |
| 9 (pt) | 6. Wstęp do baz danych 7. Podstawy pracy z relacyjnymi bazami danych |
| 10 (sob) | 7. Podstawy pracy z relacyjnymi bazami danych |
| 11 (pt) | 7. Podstawy pracy z relacyjnymi bazami danych |
| 12 (sob) | 7. Podstawy pracy z relacyjnymi bazami danych 8. PHP we współpracy z relacyjnymi bazami danych |
Plan harmonogramu
| Dzień | Temat |
|---|---|
| 13 (pt) | 9. Podstawy pracy z nierelacyjnymi bazami danych 10. PHP we współpracy z nierelacyjnymi bazami danych (MongoDB) |
| 14 (sob) | 10. PHP we współpracy z nierelacyjnymi bazami danych (MongoDB) |
| 15 (pt) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Laravel |
| 16 (sob) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Laravel |
| 17 (pt) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Laravel |
| 18 (sob) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Laravel |
| 19 (pt) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Symfony |
| 20 (sob) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Symfony |
| 21 (pt) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Symfony |
| 22 (sob) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Symfony |
| 23 (pt) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Nette |
| 24 (sob) | 11. Realizacja praktycznej aplikacji z użyciem topowych frameworków PHP - Nette |
1. Wstęp do PHP
1. Wstęp do PHP
Najważniejsze rzeczy, o których musisz wiedzieć:
- Język skryptowy, interpretowany
- Wykonywany po stronie serwera
- Wykorzystywany głównie do tworzenia aplikacji internetowych
- Ok 80% wszystkich serwisów internetowych używa lub jest w pełni napisana w PHP
- Niemalże wszystkie oferty pracy wymagają znajomości któregoś z frameworków
Więcej na temat historii PHP znajdziesz m.in. na Wikipedii ;)
2. Konfiguracja środowiska
2. Konfiguracja środowiska
Konfiguracja platformy AMP:
A - Apache
M - MySQL (MariaDB)
P - PHP

WAMP Server
Proste rozwiązania dla Windows:
XAMPP
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki


Instalacja tylko potrzebnych komponentów
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki


Instalacja tylko potrzebnych komponentów
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
Wybór katalogu instalacji

Wybierając katalog instalacji pamiętaj:
- W tym katalogu będzie się znajdowały wszystkie aplikacje, które będziesz pisał - a zatem na dysku/partycji powinno być dużo miejsca (u mnie ten katalog zajmuje ok. 80GB)
- Zapamiętaj jego lokalizację - często będziemy tam pracować ;)
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
Stop reklamom!

to nie będzie nam potrzebne ;)
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
XAMPP Control Panel


2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
Odpalamy i odblokowujemy usługę Apache

Krok 1
Krok 2
2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
Odpalamy i odblokowujemy usługę MySQL
Krok 1
Krok 2

2. Konfiguracja środowiska
Instalacja XAMPP - najważniejsze kroki
Pora na test

W przeglądarce wpisz adres:
http://localhost
lub
http://127.0.0.1
2. Konfiguracja środowiska
Konfiguracja PHP CLI
Domyślnie PHP nie jest dostępne z poziomu terminala

2. Konfiguracja środowiska
Konfiguracja PHP CLI
Dodanie ścieżki do PHP w zmiennej środowiskowej PATH


Wyszukaj
"Ustawienia systemu"
Ścieżka instalacyjna XAMPP'a
2. Konfiguracja środowiska
Konfiguracja PHP CLI
I teraz mamy dostęp do interpretera PHP w terminalu

Pamiętaj, że po zmianie zmiennej środowiskowej PATH należy ponownie uruchomić terminal!
2. Konfiguracja środowiska
2. Konfiguracja środowiska
Wybór edytorów
Sublime Text 3
Edytor podstawowy - do szybkich zmian/prostych skryptów
Edytor główny - do dużych, złożonych projektów
Atom

NetBeans

PhpStorm
Visual Studio Code

Eclipse PDT
2. Konfiguracja środowiska
A teraz czas na pierwszy "Hello world" ;)
3. Podstawy języka PHP
Backend Developer Bootcamp
By Maciej Żukiewicz
Backend Developer Bootcamp
- 220