FRONT-END

PHP

PHP - język programowania po stronie serwera

PHP (Hypertext Preprocessor) to jeden z najstarszych i najbardziej rozpowszechnionych języków programowania wykorzystywanych do tworzenia aplikacji webowych po stronie serwera.

Język PHP został zaprojektowany z myślą o prostocie, łatwej integracji z HTML oraz szybkim tworzeniu dynamicznych stron internetowych. Pomimo wielu zmian technologicznych na przestrzeni lat, PHP nadal pozostaje fundamentem ogromnej części internetu.

Szacuje się, że ponad 70% stron internetowych na świecie korzysta z PHP po stronie serwera, w tym tak znane systemy jak WordPress, Drupal, Joomla czy Magento.

Historia i ewolucja PHP

PHP powstał w 1994 roku, a jego autorem jest Rasmus Lerdorf. Początkowo był to prosty zestaw skryptów do śledzenia odwiedzin strony. Z czasem PHP ewoluował w pełnoprawny język programowania.

Kolejne wersje PHP wprowadzały:

  • programowanie obiektowe
  • rozszerzenia do pracy z bazami danych
  • lepszą wydajność (PHP 7, PHP 8)
  • system typów i strictejszą składnię

Charakterystyka języka PHP

  • Język interpretowany
  • Dynamiczne typowanie
  • Możliwość programowania proceduralnego i obiektowego
  • Ścisła integracja z HTML
  • Bardzo niski próg wejścia

PHP jako język backendowy

PHP działa po stronie serwera, generując dynamiczny kod HTML, który następnie jest wysyłany do przeglądarki użytkownika.


<?php
echo "Witaj świecie!";
?>

Kod PHP nigdy nie jest widoczny dla użytkownika końcowego.


Podstawowa składnia PHP

Zmienne i typy danych


$age = 30;
$name = "Jan";
$isAdmin = true;

Zmienne w PHP są dynamicznie typowane i zawsze poprzedzone znakiem $.


Instrukcje warunkowe


if ($age >= 18) {
  echo "Pełnoletni";
} else {
  echo "Niepełnoletni";
}

Pętle


for ($i = 0; $i < 5; $i++) {
  echo $i;
}

foreach ($users as $user) {
  echo $user;
}

Funkcje


function add(int $a, int $b): int {
  return $a + $b;
}

Nowoczesne wersje PHP wspierają deklarowanie typów parametrów oraz typów zwracanych.


Programowanie obiektowe w PHP

Klasy i obiekty


class User {
  public string $email;

  public function login(): void {
    echo "Zalogowano";
  }
}

Dziedziczenie


class Admin extends User {
  public function manageUsers(): void {
    echo "Zarządzanie użytkownikami";
  }
}

Interfejsy i abstrakcje


interface Logger {
  public function log(string $msg): void;
}

Obsługa formularzy i danych HTTP

PHP od początku było projektowane z myślą o obsłudze formularzy HTML.


$email = $_POST['email'];
$password = $_POST['password'];

Superglobalne tablice:

  • $_GET
  • $_POST
  • $_SESSION
  • $_COOKIE

Sesje i ciasteczka


session_start();
$_SESSION['user'] = 'Jan';

PHP i bazy danych

PHP posiada natywne wsparcie dla pracy z bazami danych, szczególnie MySQL i PostgreSQL.


$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass");

Bezpieczeństwo w PHP

  • Filtrowanie danych wejściowych
  • Prepared Statements (PDO)
  • Hashowanie haseł
  • Ochrona przed XSS i CSRF

password_hash("secret", PASSWORD_BCRYPT);

Frameworki PHP

Współczesne aplikacje PHP bardzo często korzystają z frameworków.

  • Laravel
  • Symfony
  • CodeIgniter
  • Zend Framework

Composer i ekosystem

Composer to menedżer zależności dla PHP.


composer require laravel/framework

PHP w CMS-ach

PHP jest fundamentem najpopularniejszych systemów CMS:

  • WordPress
  • Drupal
  • Joomla
  • Magento

PHP w nowoczesnych aplikacjach

Nowoczesny PHP (8+) oferuje:

  • Typed properties
  • Attributes
  • JIT compiler
  • Match expressions

Zastosowania PHP

  • Strony internetowe
  • Aplikacje webowe
  • REST API
  • Systemy CMS
  • E-commerce

Zalety i wady PHP

Zalety

  • Ogromna popularność
  • Niski próg wejścia
  • Tania infrastruktura
  • Dojrzały ekosystem

Wady

  • Niespójności składni historyczne
  • Ryzyko złych praktyk u początkujących

Podsumowanie

PHP to język, który przeszedł długą drogę – od prostych skryptów do zaawansowanych aplikacji webowych. Pomimo pojawienia się wielu nowych technologii, PHP nadal pozostaje jednym z filarów internetu.

Dzięki nowoczesnym wersjom, frameworkom i ogromnemu ekosystemowi, PHP wciąż jest bardzo dobrym wyborem dla aplikacji webowych oraz systemów zarządzania treścią.

1
HOME | CSS | HTML | CONTACT
RED | LIME | ORG |copy(Ⓒ)2023:xyh