PHP to współczesny skryptowy język programowania dedykowany głównie dla rozwiązań webowych, którego pierwsza wersja została utworzona w 1994 roku przez Rasmus Lerdorfa. Początkowo był to zestaw prostych Common Gateway Interface (CGI), umożliwiających łączenie mechanizmów generowania stron HTML z kodem zaimplementowanym w języku C. Wraz z kolejnymi wydaniami języka (PHP 3 w roku 1998, PHP 4 w roku 1999, PHP 5 w roku 2004) był on wzbogacany o kolejne konstrukcje językowe, w tym koncepty programowania obiektowego. W 2015 roku wydana została wersja 7, w której całkowicie przeprojektowano mechanizmy runtime'u, zwiększając w ten sposób znacząco wydajność aplikacji opartych o język PHP.
Na przestrzeni lat język ten został obudowany szeregiem dodatkowych rozwiązań, wspomagających i upraszczających pracę developerów. Starsze aplikacje bardzo często korzystały więc z repozytoriów PEAR oraz PECL, obecnie sięga się bardzo często po rozwiązania m.in. typu Composer i powiązane z nim repozytorium Packagist.
Swoją popularność język PHP zawdzięcza zarówno składni, upraszczającej proces poznawania języka, jak i bardzo rozbudowanemu ekosystemowi. Szacuje się, że język PHP (w różnych wersjach) jest wykorzystywany do obsługi ponad 83% znanych serwisów webowych.
Celem kursu jest nauka zarówno języka PHP jak i jego praktyczne wykorzystanie do implementacji złożonych aplikacji, w oparciu o aktualnie wykorzystywane narzędzia i rozwiązania (nowoczesne frameworki web, architektury aplikacji i systemu).
Uczestnik zajęć powinien dysponować:
- podstawową wiedzą z zakresu programowania obiektowego
- podstawową znajomością relacyjnych baz danych (przydatne w drugiej części zajęć)
Zajęcia odbywać się będą cyklicznie:
- wykład, sala 139, pt 10:15-12:00
- pracownia, sala 107, pt 08:15-10:00
- W każdym tygodniu zajęć publikowane będzie zadanie, przeznaczone do samodzielnego zaprogramowania. Za każde poprawnie zaprogramowane zadanie i oddane w terminie można będzie dostać do 10 punktów.
- Zadania publikowane będą w tygodniu poprzedzającym termin ich realizacji. Zadania należy oddawać terminowo.
- Prezentacja wykonanych zadań odbywać się będzie na pracowni. Podczas prezentacji mogą zostać zadane dodatkowe pytania dotyczące rozwiązania.
- Ocena końcowa wynikać będzie z liczby zgromadzonych w trakcie zajęć punktów:
- 50% na ocenę dostateczną
- 90% na ocenę bardzo dobrą,
- oceny pośrednie są ustalane liniowo względem określonych powyżej wartości
Lista notatek z poszczególnych wykładów, wraz z linkami do dodatkowych materiałów uzupełniających
- Wykład 1, 23 luty 2018: Podstawy języka PHP, wprowadzenie do ekosystemu
- Wykład 2, 2 marzec 2018: Obiektowość, część 1
- Wykład 3, 9 marzec 2018: Obiektowość, część 2
- Wykład 4, 16 marzec 2018: HTTP Flow
- Dokumentacja języka, http://php.net/manual/en/
- PHP The Right Way, http://www.phptherightway.com/