Podstawy
- Wstęp do PHP, HTML, CSS, XML
- projektowanie witryn od strony programisty – HTML i CSS
- elementy formularza, metody POST i GET, żądania HTTP
- zmienne, warunki i pętle (podstawowa składnia if … else, while)
- najważniejsze funkcje PHP
- Praca z bazami danych
- pobieranie danych z MySQL-a i Postgresa
- modyfikacja danych
- ochrona przed atakami typu SQL Injection i Cross Site Scripting
Zarządzanie danymi
- Wykorzystanie relacyjnych baz danych
- typy danych w języku SQL
- agregaty, podkwerendy, różne rodzaje złączeń
- różnice między MySQL-em a Postgresem
- Projektowanie baz danych
- diagramy ERD (Entity Relationship Diagram)
- tworzenie projektu bazy na podstawie prostej specyfikacji problemu
- baza w postaci normalnej
- polecenia DDL dla MySQL-a i Postgresa
- Przetwarzanie i pozyskiwanie danych w formacie XML
- budowa dokumentu XML; instrukcje przetwarzania, terminologia, kodowanie
- przestrzenie nazw w dokumentach XML
PHP w praktyce
- Zmienne, funkcje, tablice, napisy
- przekazywanie zmiennych przez wartość i przez referencję
- operacje na tablicach (wyszukiwanie, sortowanie, zaawansowane sortowanie)
- operacje na łańcuchach znaków, wyrażenia regularne (Regexp)
- rzutowanie i problem niejawnego rzutowania
- Programowanie obiektowe
- składnia obiektowa i wykorzystanie istniejących bibliotek
- praktyki dotyczące wczytywania klas
- projektowanie programów obiektowych: składnia definicji klas, widoczność, asercja typu parametrów w metodach i funkcjach, użycie interfejsów i klas abstrakcyjnych
- przykładowe interfejsy i klasy biblioteki SPL (Standard PHP Library; np. Iterator, ArrayAccess, DirectoryIterator)
- podstawy diagramów klas UML
- wzorce projektowe charakterystyczne dla aplikacji PHP
- stworzenie prostej aplikacji w modelu MVC (w wariancie Front Controller)
Techniki warstwy prezentacji
- Javascript
- język Javascript: funkcje, zmienne, sposób użycia w kontekście dokumentu HTML
- model DOM, efekty i animacja
- przykładowe popularne skrypty dostępne w sieci (efekty)
- dynamiczna walidacja formularza
- Systemy szablonowe, ich użycie w aplikacjach MVC
- użycie systemu Smarty (bądź podobnego, np. Twig)
Środowisko pracy
- Użycie winscp i prostych edytorów programistycznych do edycji i wdrażania witryn internetowych na serwerach hostingowych