Podstawy PHP i aplikacji webowych
- HTML i CSS
- Struktura dokumentu HTML 5
- Najważniejsze tagi
- Projektowanie witryn od strony programisty
- Arkusze CSS zagnieżdżone i zewnętrzne – szybkie podstawy
- Wstęp do języka PHP
- Konfiguracja i pierwsze uruchomienie serwera deweloperskiego
- Struktura i możliwości składniowe plików .php
- Różne podejścia do łączenia kodu PHP z treściami HTML
- Wstawianie wartości obliczonych i treści generowanych przez aplikację
- Podstawowe techniki programistyczne
- Zmienne i wartości
- Sposoby zapisywania tekstów i podstawowe operacji na nich
- Warunki i pętle (podstawowa składnia if, while, for)
- Najważniejsze funkcje PHP
- Formularze i komunikacja HTTP
- Elementy formularza HTML 5
- Metody POST i GET, żądania HTTP
- Nagłówki i ciasteczka
- Zasada działania aplikacji webowej strony serwera
Bazy danych w aplikacjach PHP
- Wprowadzenie do SQL i relacyjnych baz danych
- Tworzenie tabel, dobór typów dla kolumn
- Klucze główne i obce, dobre praktyki baz danych
- Zaprojektowanie i utworzenie przykładowej bazy na potrzeby aplikacji
- Polecenia modyfikacji danych: INSERT, UPDATE, DELETE
- Kwerendy (zapytania SELECT)
- Wybór kolumn i filtrowanie wierszy
- Sortowanie
- Łączenie wielu tabel w jednym zapytaniu
- Rzut oka na inne możliwości SQL i zwrócenie uwagi na różnice między różnymi systemami bazodanowymi
- Praca z bazami danych w PHP na przykładzie MySQL/MariaDB oraz PostgreSQL
- Pobieranie danych
- Modyfikacja danych
- Obsługa parametrów zapytań
- Ochrona przed atakami typu SQL Injection i Cross Site Scripting
PHP w praktyce
- Funkcje
- Definiowanie własnych funkcji
- Przekazywanie zmiennych przez wartość i przez referencję
- Podział projektu na pliki / moduły
- Tablice i napisy
- Operacje na tablicach (wyszukiwanie, sortowanie)
- Tablice asocjacyjne
- Operacje na łańcuchach znaków
- Wyrażenia regularne (regexp)
- Dalsze instrukcje i operacje języka PHP
- switch i match
- Pętla foreach
- Rzutowanie i problem niejawnego rzutowania
- Formaty elektronicznej wymiany danych
- Przetwarzanie i pozyskiwanie danych w formacie XML
- Format JSON i jego zastosowania
- Programowanie obiektowe
- Składnia obiektowa i wykorzystanie istniejących bibliotek
- Praktyki dotyczące wczytywania klas
- Projektowanie programów obiektowych: definicje klas, widoczność, użycie interfejsów i klas abstrakcyjnych
- Asercje typu parametrów w metodach i funkcjach
- Elementy biblioteki SPL (Standard PHP Library), np. Iterator, ArrayAccess, DirectoryIterator
- Wzorce projektowe charakterystyczne dla aplikacji PHP
- Stworzenie prostej aplikacji w modelu MVC (w wariancie Front Controller)
Techniki warstwy prezentacji
- JavaScript
- Podstawy JS: funkcje, zmienne, sterowanie
- Zastosowania w kontekście aplikacji opartej o backend PHP
- Dynamiczna walidacja formularza
- Systemy szablonowe (Twig, Smarty lub podobne)
- Wykorzystanie w aplikacjach MVC
- Dziedziczenie szablonów, filtry, makra
AI w pracy programisty PHP
- GitHub Copilot i Cursor – generowanie klas i funkcji w PHP
- Rozwiązywanie zadań i debugowanie z pomocą modeli językowych (ChatGPT, Claude)
- Wywoływanie API modeli językowych z PHP – biblioteka Guzzle + OpenAI/Anthropic
- Zastosowanie AI podczas tworzenia baz danych, generowania i optymalizacji zapytań SQL
- Jak weryfikować kod generowany przez AI – bezpieczeństwo, SQL Injection, XSS
Środowisko pracy
- VS Code, konfiguracja i wtyczki pod kątem programowania w PHP
- Git – podstawy kontroli wersji w projekcie PHP
- Wdrażanie witryn internetowych na serwerach hostingowych z wykorzystaniem WinSCP lub analogicznego programu do komunikacji