PHP
PHP (ang. Hypertext Preprocessor) – popularny, otwarto‑źródłowy język programowania używany głównie do tworzenia dynamicznych aplikacji internetowych po stronie serwera. Skrypty PHP są wykonywane na serwerze, a ich wynik (zazwyczaj kod HTML) jest wysyłany do przeglądarki użytkownika.
Historia
Początki PHP sięgają 1995 roku, kiedy duński programista Rasmus Lerdorf opracował zestaw skryptów w języku C, które umożliwiały monitorowanie odwiedzin jego osobistej strony Personal Home Page. W kolejnych latach język był rozwijany, a w 1997 wydano pierwszą oficjalną wersję 2.0, wprowadzającą podstawowe mechanizmy obsługi baz danych.
Zasadniczy przeskok nastąpił w 1998, kiedy Zeev Suraski i Andi Gottlieb przepisali rdzeń języka, tworząc tzw. Zend Engine. Od tej pory PHP zyskał solidną podstawę, a wersje 3.x i 4.x wprowadzały wsparcie dla MySQL, sesji i obsługi protokołu HTTP.
Dalszy rozwój doprowadził do publikacji PHP 5 w 2004, który wprowadził programowanie obiektowe oraz lepszą obsługę XML. Najnowsza stabilna gałąź – PHP 8 – pojawiła się w 2020 roku i przyniosła m.in. JIT (Just‑In‑Time Compilation), atrybuty i ulepszone typowanie.
Charakterystyka języka
- Składnia – inspirowana językami C, Perl oraz JavaScript. Dzięki temu programiści znający te języki szybko adaptują się do PHP.
- Typowanie – dynamiczne, z możliwością deklaracji typów od wersji 7 oraz PHP 8.
- Rozszerzalność – setki rozszerzeń (np.
pdo_mysql,gd,curl), które umożliwiają integrację z bazami danych, grafiką, protokołami sieciowymi itp. - Platformowość – działa na systemach Linux, Windows, Unix, macOS w połączeniu z serwerem Apache, Nginx lub innymi.
Zastosowanie
PHP jest wykorzystywany w różnych obszarach:
- Tworzenie stron internetowych i aplikacji webowych.
- Budowa systemów zarządzania treścią (CMS), takich jak WordPress, Joomla czy Drupal.
- Rozwój platform e‑commerce, np. Magento czy PrestaShop.
- Tworzenie interfejsów API (REST, GraphQL) oraz usług mikroserwisowych.
- Automatyzacja zadań serwerowych i skryptów CLI.
Frameworki i biblioteki
W ekosystemie PHP istnieje wiele frameworków, które przyspieszają rozwój aplikacji, zapewniając struktury MVC, routing, ORM i testowanie:
- Laravel – najpopularniejszy w ostatniej dekadzie, oferujący elegancką składnię i bogaty zestaw narzędzi.
- Symfony – komponentowy framework wykorzystywany m.in. w projektach korporacyjnych.
- CodeIgniter – lekki, szybki framework idealny do małych i średnich projektów.
- CakePHP – zapewnia szybki start i konwencję nad konfiguracją.
- Zend Framework (obecnie Laminas) – przeznaczony dla aplikacji enterprise.
Bezpieczeństwo
Podobnie jak inne języki webowe, PHP wymaga dbałości o bezpieczeństwo aplikacji:
- Używanie przygotowanych zapytań (prepared statements) w PDO lub mysqli w celu ochrony przed SQL injection.
- Filtrowanie i walidacja danych wejściowych przy pomocy filter_var lub bibliotek typu Respect/Validation.
- Ochrona przed atakami XSS poprzez ucieczkę (escaping) danych przy użyciu
htmlspecialchars(). - Regularne aktualizowanie wersji języka oraz wykorzystywanych rozszerzeń.
Przyszłość i rozwój
Rozwój PHP jest kierowany przez społeczność PHP Community oraz zespół Zend Engine. W kolejnych wersjach planowane są m.in. dalsze optymalizacje wydajności, ulepszenia w systemie typów oraz lepsza integracja z nowoczesnymi technologiami chmurowymi i kontenerowymi (Docker, Kubernetes).
Powiązane pojęcia
- HTTP – protokół komunikacji w sieci WWW.
- REST – architektura tworzenia interfejsów API.
- JSON – format wymiany danych, często wykorzystywany w aplikacjach PHP.
- AJAX – technika umożliwiająca asynchroniczną wymianę danych między przeglądarką a serwerem PHP.
- Open source – model dystrybucji oprogramowania, którym PHP jest udostępniane.