REST i Microservices w PHP

Kod: PHP-rest
Kategoria: PHP
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 4 dni
Grupa docelowa: developerzy
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Szkolenie stanowi syntezę wzorców, technik i narzędzi potrzebnych aby od początku do końca pracować nad kodem systemów projektowanych w architekturze microservices.

Niemal wszystkie frameworki nie narzucają struktury organizacji kodu. Dlatego proponowalibyśmy rozpoczęcie implementacji z wykorzystaniem Symfony i jego komponentów. Następnie, gdy zespół będzie miał praktyczne doświadczenie i wiedzę odnośnie potrzebnych narzędzi, użycie innych narzędzi (np. aplikacji Symfony opartych i micro-kernele) będzie znacznie prostsze.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Zintegrowane podejście do: skalowania, bezpieczeństwa, failover, CQRS
  • Całościowe i szersze spojrzenie na problemy
  • Dostęp do wiedzy eksperckiej

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. REST / HTTP API
    1. Wprowadzenie
      1. Request
      2. Response
    2. Nazewnictwo
      1. Rzeczowniki
      2. Czasowniki
      3. Liczba pojedyncza / liczba mnoga
    3. Formaty API
      1. JSON
      2. XML
    4. Metody HTTP
      1. GET
      2. POST
      3. PUT
      4. DELETE
      5. PATCH
    5. Typowe zagadnienia
      1. Lokalizacja API
      2. Wersjonowanie API
      3. Filtrowanie zasobów
      4. Partial response
      5. Stronicowanie
      6. Sortowanie
      7. Obsługa błędów
    6. Bezpieczeństwo
      1. Logowanie
      2. Uwierzytelnianie
      3. Rate limits
    7. Cache
      1. Wprowadzenie
    8. Klienci API
  2. Mikroserwisy
    1. Wprowadzenie
      1. Prawo Conwaya
      2. Charakterystyka mikroserwisów
      3. Korzyści i koszty
    2. Modelowanie
      1. Założenia
        1. Decentralizacja zarządzania danymi
      2. Podejście bounded-context
      3. Antywzorce mikroserwisów
        1. Nanoservice
    3. Komunikacja
      1. Komunikacja synchroniczna
      2. Komunikacja asynchroniczna
      3. Formaty
    4. Security
    5. Infrastruktura
      1. Deployment
      2. Skalowanie
      3. Osiąganie wysokiej dostępności
      4. Monitoring działania
    6. Testowanie
    7. Dokumentowanie mikroserwisów
  3. Frameworki
    1. Wprowadzenie do Symfony
      1. Dlaczego używać Symfony?
        1. Jakie problemy rozwiązuje?
        2. Ekosystem
      2. Jak Symfony może pomóc?
        1. Symfony Framework
        2. Komponenty Symfony
    2. Podstawy Symfony
      1. Tworzenie projektów
        1. Instalator Symfony
        2. Composer
        3. Sprawdzanie wymagań środowiska
      2. Konfiguracja serwera HTTP
        1. Nginx
        2. Apache
        3. Wbudowany w PHP serwer HTTP
      3. Struktura projektów
        1. Aplikacje
        2. Środowiska
        3. Pliki uruchamialne
        4. Bundle
        5. Cache
        6. Logi
        7. Zależności
      4. Konfiguracja
        1. PHP
        2. YML
        3. Adnotacje
        4. XML
      5. Web Debug Toolbar
    3. Cykl życia aplikacji
      1. Http Kernel
        1. Request
        2. Response
        3. PSR-7
        4. App Kernel
        5. Multi Kernel
        6. Micro Kernel
      2. Kontrolery
        1. Konwencje i dobre praktyki
        2. Przekierowania
        3. Strony błędów
        4. Konwertery Parametrów
      3. Routing
        1. Konfiguracja
        2. Konwencje nazewnictwa
        3. Wymagania
        4. Debugowanie
    4. Formularze, Walidacja i Tłumaczenia
      1. Forularze
        1. Tworzenie formularzy
        2. Obsługa wysłanych danych
      2. Walidacja
        1. Konfiguracja
        2. Ograniczenia
        3. Grupy
        4. Funkcje walidujące
        5. Walidacja formularzy
    5. Wstrzykiwanie zależności
      1. Wprowadzenie
        1. Dlaczego powinniśmy wstrzykiwać zależonści?
        2. Wstrzykiwanie przez setter
        3. Wstrzykiwanie przez konstruktor
      2. Kontener usług
        1. Konfiguracja
        2. Definiowanie usług
        3. Debugowanie
        4. Tagi i zaawansowane modyfikowanie konfiguracji kontenera
    6. HTTP Cache
      1. Wprowadzenie
        1. Typy Cache
        2. Nagłówki HTTP
        3. Modele Walidacji i Wygasania
        4. Edge Side Includes
      2. Cache w Symfony
        1. Http Kernel
        2. App Cache
        3. Edge Side Includes
    7. Logowanie i uwierzytelnianie
      1. Komponent Security
        1. Konfiguracja
        2. Logowanie
        3. Uwierzytelnianie
        4. Zabezpieczanie kontrolerów
      2. Zaawansowane zagadnienia komponentu Security
        1. Access Control Lists
        2. Security Voters
        3. Logowanie bezstanowe
    8. Testowanie, wydajność
      1. Testowanie
        1. Web Test Case w PhpUnit
        2. Test Client w PhpUnit
        3. Dostęp do kontenera usług w testach
        4. Korzystanie z profilera w testach
        5. Behat extension
      2. Wydajność
        1. Dobre praktyki
        2. Optymalizacja Composera
        3. Profilowanie aplikacji


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń