REST i Microservices w PHP

Kod: PHP-rest
Kategoria: PHP
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 4
Grupa docelowa: developerzy

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

Pobierz program w formacie PDF
  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
          Decentralizacja zarządzania danymi
      2. Podejście bounded-context
      3. Antywzorce mikroserwisów
          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?
          Jakie problemy rozwiązuje? Ekosystem
      2. Jak Symfony może pomóc?
          Symfony Framework Komponenty Symfony
    2. Podstawy Symfony
      1. Tworzenie projektów
          Instalator Symfony Composer Sprawdzanie wymagań środowiska
      2. Konfiguracja serwera HTTP
          Nginx Apache Wbudowany w PHP serwer HTTP
      3. Struktura projektów
          Aplikacje Środowiska Pliki uruchamialne Bundle Cache Logi Zależności
      4. Konfiguracja
          PHP YML Adnotacje XML
      5. Web Debug Toolbar
    3. Cykl życia aplikacji
      1. Http Kernel
          Request Response PSR-7 App Kernel Multi Kernel Micro Kernel
      2. Kontrolery
          Konwencje i dobre praktyki Przekierowania Strony błędów Konwertery Parametrów
      3. Routing
          Konfiguracja Konwencje nazewnictwa Wymagania Debugowanie
    4. Formularze, Walidacja i Tłumaczenia
      1. Forularze
          Tworzenie formularzy Obsługa wysłanych danych
      2. Walidacja
          Konfiguracja Ograniczenia Grupy Funkcje walidujące Walidacja formularzy
    5. Wstrzykiwanie zależności
      1. Wprowadzenie
          Dlaczego powinniśmy wstrzykiwać zależonści? Wstrzykiwanie przez setter Wstrzykiwanie przez konstruktor
      2. Kontener usług
          Konfiguracja Definiowanie usług Debugowanie Tagi i zaawansowane modyfikowanie konfiguracji kontenera
    6. HTTP Cache
      1. Wprowadzenie
          Typy Cache Nagłówki HTTP Modele Walidacji i Wygasania Edge Side Includes
      2. Cache w Symfony
          Http Kernel App Cache Edge Side Includes
    7. Logowanie i uwierzytelnianie
      1. Komponent Security
          Konfiguracja Logowanie Uwierzytelnianie Zabezpieczanie kontrolerów
      2. Zaawansowane zagadnienia komponentu Security
          Access Control Lists Security Voters Logowanie bezstanowe
    8. Testowanie, wydajność
      1. Testowanie
          Web Test Case w PhpUnit Test Client w PhpUnit Dostęp do kontenera usług w testach Korzystanie z profilera w testach Behat extension
      2. Wydajność
          Dobre praktyki Optymalizacja Composera Profilowanie aplikacji

Trenerzy

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

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ń