encyklopedia.run.place

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:

  1. Tworzenie stron internetowych i aplikacji webowych.
  2. Budowa systemów zarządzania treścią (CMS), takich jak WordPress, Joomla czy Drupal.
  3. Rozwój platform e‑commerce, np. Magento czy PrestaShop.
  4. Tworzenie interfejsów API (REST, GraphQL) oraz usług mikroserwisowych.
  5. 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.