Projektowanie i implementacja zaawansowanych aplikacji PHP

Wprowadzenie

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).

Wymagania

Uczestnik zajęć powinien dysponować:

  • podstawową wiedzą z zakresu programowania obiektowego
  • podstawową znajomością relacyjnych baz danych (przydatne w drugiej części zajęć)

Forma zajęć

Zajęcia odbywać się będą cyklicznie, zgodnie z informacjami w Systemie Zapisów:

  • wykład, sala 119
  • pracownia, sala 108

Pracownia

Zasady zaliczenia przedmiotu

  • 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

Listy zadań

Uwaga! Osoby, które zalegają z zadaniami z pracowni proszę o kontakt.

Notatki z wykładów

Lista notatek z poszczególnych wykładów, wraz z linkami do dodatkowych materiałów uzupełniających

Literatura

Elektroniczna