Podstawowe zasoby: www.w3schools.com, php.net, wujek Google
Darmowe szablony: HTML5 UP! Get Template
Aplikacje internetowe
- Architektura klient-serwer (w warstwie prezentacji, w warstwie danych)
- Środowisko: serwer aplikacji (http,[silnik skryptowy]), serwer bazy danych
- Przeglądarka: wysyłanie żądania (wybór zasobu [typ]), odbiór odpowiedzi (zasobu [typ])
- Przykładowa struktura dokumentu HTML [5]
- podstawy skryptów php, generowanie odpowiedzi HTML: <?php ... ?>, echo, print
Przekazywanie i odbiór parametrów
- Metody GET i POST: $_GET, $_POST
- formularze (analiza transferowanych danych - walidacja)
- ciasteczka (analiza transferowanych danych)
- przechowywanie parametrów po stronie serwera (sesje)
Widok: HTML/CSS, kontrolki, "widget'y"
- Podstawowe elementy stron (div,header,section,nav,p,ul,a,img,table...form,input...), display (inline, block), position ...
- Przykładowa podstawowa struktura dokumentu HTML [5]
- CSS: Przykłady, podstawy
- Szablony dla HTML (CSS,JavaScript):
- podstawa "czystego" dokumentu: HTML 5 Boilerplate - krótki opis
- Pure CSS from Yahoo
- Bootstrap
- Foundation
- Zaawansowane kontrolki (CSS,JavaScript):
- JQuery UI
- Primefaces UI
- YUI
- Dojo Toolkit
- DHTMLX
- EXT JS
- W2UI
- Edytor tekstu: CK Editor
- Edytor tekstu: Tiny MCE
- ...
Środowisko programistyczne
- Eclipse z dodatkiem PHP Development Tools (instalacja z repozytorium)
- Instalacja z repozytorium rozszerzeń Eclipse
- Integracja z serwerem Apache, konfiguracja środowiska
- Debugger PHP: xDebug
- Konfiguracja: xDebug w Eclipse
- Integracja z lokalizacją zdalną
- Archiwizacja projektu do ZIP
Podział aplikacji na warstwy, szablonowanie
- Dedykowane warstwy/moduły: widok, kontroler (część dynamiczna)
- widok i walidacja danych formularzy
- najprostsze rozwiązanie "forward" i szablonowania: php include()
- widzialność zmiennych (php: Variable scope)
- biblioteki szablonowania: Smarty
Ważne podstawowe elementy
Obiektowość, pełen model MVC
- podejście obiektowe: klasy, obiekty, widzialność zmiennych: PHP.net
- Dedykowane warstwy/moduły: model, widok, kontroler (MVC)
- JSON: W3Schools
- Frameworki: patrz niżej
Dostęp do baz danych
- rozwiązanie bezpośrednie: połączenie, zapytanie, przetwarzanie wyników
- wykorzystanie bibliotek: Medoo, Framework Laravel
- mapowanie obiektowo-relacyjne (ORM): Doctrine (wykorzystywany m.in. w Symfony)
AJAX
- Podstawy: W3Schools
- Z użyciem bibliotek: Biblioteka YUI, jQuery
- JSON: W3Schools
Frameworki
Systemy Zarządzania Treścią (Content Management System)
CMS'y nie są typowymi frameworkami do tworzenia elastycznych, dedykowanych aplikacji webowych. Jednak dzisiejsze rozwiązania są bardzo rozbudowane, posiadaja możliowści instalowania niezliczonych gotowych pakietów-modułów oraz pozwalają pisać swoje rozszerzenia (moduły). To wszystko czyni te silniki dobrą podstawą wielu rozwiązań.