PHP, co oznacza "Hypertext Preprocessor", to otwartoźródłowy język skryptowy po stronie serwera, zaprojektowany głównie do tworzenia stron internetowych, ale także używany jako język programowania ogólnego przeznaczenia. Jest powszechnie znany z łatwości użycia i elastyczności w tworzeniu dynamicznych stron internetowych, efektywnej interakcji z bazami danych oraz obsługi formularzy. PHP może być osadzany w HTML i jest szczególnie odpowiedni dla serwerów internetowych. W 2023 roku PHP napędza znaczną część stron internetowych na całym świecie, w tym główne platformy takie jak WordPress, Facebook i Wikipedia.
PHP został pierwotnie stworzony przez duńsko-kanadyjskiego programistę Rasmusa Lerdorfa w 1993 roku. Zaczynał jako zestaw binarnych interfejsów CGI, które Lerdorf używał do utrzymywania swojej osobistej strony internetowej. W miarę wzrostu zainteresowania jego początkowym projektem, Lerdorf rozszerzył go do PHP/FI (Personal Home Page/Forms Interpreter) do 1995 roku, co pozwoliło użytkownikom na zbieranie danych z formularzy i łatwiejsze zarządzanie treścią.
Po wydaniu PHP/FI, język zyskał wkład od szerszej społeczności, co doprowadziło do wydania PHP 3 w 1998 roku, opracowanego przez Andiego Gutmansa i Zeeva Suraskiego. Ta wersja wprowadziła bardziej solidny silnik i funkcje, kładąc podwaliny pod PHP 4 w 2000 roku. PHP 5 pojawił się w 2004 roku, wprowadzając możliwości programowania obiektowego (OOP) oraz rozszerzenie PHP Data Objects (PDO) do interakcji z bazami danych.
Od tego czasu PHP przeszedł ciągły rozwój, a PHP 7 został wydany pod koniec 2015 roku, koncentrując się na poprawie wydajności i nowych funkcjach języka. W 2021 roku wydano PHP 8, wprowadzając kompilację JIT (Just In Time), typy unii, nazwane argumenty i atrybuty, co jeszcze bardziej umocniło jego znaczenie w nowoczesnym rozwoju stron internetowych. PHP nadal jest znaczącym graczem w krajobrazie języków programowania, z rozległym ekosystemem frameworków, bibliotek i zasobów społeczności.
W PHP zmienne są deklarowane z użyciem znaku dolara ($
) poprzedzającego nazwę zmiennej.
$greeting = "Witaj, świecie!";
PHP obsługuje zarówno tablice indeksowane, jak i asocjacyjne, które mogą przechowywać wiele wartości.
$fruits = array("jabłko", "banan", "pomarańcza");
$associativeArray = array("imię" => "Jan", "wiek" => 30);
Funkcje w PHP mogą być definiowane za pomocą słowa kluczowego function
, co pozwala na ponowne użycie kodu.
function add($a, $b) {
return $a + $b;
}
PHP ma typowe struktury kontrolne, takie jak if
, else
i switch
do logiki warunkowej.
if ($age >= 18) {
echo "Dorosły";
} else {
echo "Nieletni";
}
PHP obsługuje różne pętle, w tym for
, while
i foreach
.
foreach ($fruits as $fruit) {
echo $fruit;
}
PHP obsługuje koncepcje OOP, w tym klasy i obiekty.
class Car {
public $color;
function __construct($color) {
$this->color = $color;
}
}
$myCar = new Car("niebieski");
PHP zapewnia obsługę błędów za pomocą wyjątków z użyciem try
, catch
i finally
.
try {
throw new Exception("Wystąpił błąd");
} catch (Exception $e) {
echo $e->getMessage();
}
PHP pozwala na dołączanie plików w celu modularnego programowania.
include 'header.php';
PHP zapewnia kilka wbudowanych zmiennych zwanych superglobalnymi, dostępnych z dowolnego zakresu.
echo $_POST['username'];
Od PHP 7 wzwyż, deklaracje typów mogą być używane do egzekwowania bezpieczeństwa typów.
function sum(int $a, int $b): int {
return $a + $b;
}
Typowe zintegrowane środowiska programistyczne (IDE) dla PHP to PhpStorm, Visual Studio Code, NetBeans i Eclipse PDT. Każde z nich oferuje solidne narzędzia do debugowania, uzupełniania kodu i zarządzania projektami.
PHP jest głównie interpretowany, polegając na silniku Zend do przetwarzania skryptów PHP. Może być uruchamiany w środowisku serwerowym z użyciem stosów oprogramowania takich jak XAMPP lub LAMP.
Typowo projekty PHP są strukturalizowane w katalogach zawierających pliki źródłowe, pliki konfiguracyjne i zależności. Composer jest menedżerem zależności powszechnie używanym w aplikacjach PHP, upraszczającym zarządzanie pakietami i autoloading.
PHP jest głównie używany do skryptów po stronie serwera, ale jego zastosowania obejmują:
W porównaniu z językami takimi jak JavaScript, Python i Ruby, PHP pozostaje popularnym wyborem do rozwoju zaplecza stron internetowych dzięki swoim rozległym bibliotekom i frameworkom. Jednak podczas gdy PHP jest wyraźnie dostosowany do aplikacji internetowych, języki takie jak Python i Ruby są często używane do bardziej ogólnych zadań programistycznych.
Tłumaczenie źródło-do-źródła, czyli transpilacja, polega na konwersji kodu z jednego języka programowania na inny. Istnieje kilka narzędzi dla PHP: