PHP (PHP: Hypertext Preprocessor) är ett skriptspråk som hjälper människor att göra webbsidor mer interaktiva genom att låta dem göra mer intelligenta och komplexa saker. PHP-koden körs på webbservern och genererar HTML som skickas till användarens webbläsare. Eftersom koden körs server-side syns inte källkoden för besökaren och det ger möjlighet till säker hantering av data, autentisering och databaskopplingar.
Hur fungerar PHP?
PHP bäddas ofta in i HTML: du skriver PHP-kod mellan och när en förfrågan når servern tolkas PHP-koden och resultatet (vanligtvis HTML) skickas tillbaka till klienten. Vanliga arbetsflöden inkluderar:
- Formulärhantering: läsa in data från POST eller GET och bearbeta eller spara i en databas.
- Sessioner och cookies: hantera inloggningar, hålla användarsessioner och anpassa innehåll.
- Databasinteraktion: koppla upp mot MySQL, PostgreSQL eller andra databaser för att läsa/skriva data.
- API-konsumption och -exponering: interagera med externa tjänster via HTTP eller erbjuda egna REST/GraphQL‑API:er.
Filändelser och serverinställning
Standard PHP-filtillägg är: .php, .php3 eller .phtml, men en webbserver kan ställas in för att använda andra filändelser. PHP kan köras på olika sätt mot webbservern, till exempel via mod_php (Apache), PHP-FPM (FastCGI, vanligt med Nginx) eller som kommandoverktyg (CLI).
Språkpåverkan och licens
Dess struktur har påverkats av många språk som C, Perl, Java, C++ och till och med Python. Det anses vara fri programvara av Free Software Foundation. PHP utvecklas aktivt och nyare versioner (t.ex. PHP 7 och PHP 8) har fokuserat på bättre prestanda, striktare typkontroller och nya funktioner som JIT-kompilering i vissa fall.
Användningsområden
- Webbplatser och CMS: många innehållshanteringssystem som WordPress, Drupal och Joomla är skrivna i PHP.
- Webbapplikationer: e‑handel, forum, portaler och interna system.
- API-backends: bygga REST- eller GraphQL-tjänster som används av mobilappar och SPA (single-page applications).
- Automatisering och skript: med PHP CLI kan du köra skript från kommandoraden för batchjobb och underhåll.
Ramverk och verktyg
Det finns många populära ramverk som förenklar utveckling och strukturering av PHP-projekt, till exempel Laravel, Symfony, CodeIgniter och Zend/Laminas. För paket- och beroendehantering används ofta Composer, vilket underlättar återanvändning av bibliotek.
Säkerhet och bästa praxis
- Validera och sanera indata: lita aldrig på användardata. Använd giltighetskontroller och sanering.
- Undvik SQL-injektion: använd förberedda uttalanden (prepared statements) eller ORM-lager istället för att interpolera variabler direkt i SQL.
- Hantera filuppladdningar försiktigt: kontrollera filtyp, storlek och lagringsplats för att undvika exekvering av skadlig kod.
- Använd säkra sessionsinställningar: sätt lämpliga cookie-flaggor (HttpOnly, Secure) och överväg session-tidsgränser.
- Undvik farliga funktioner: minimera användningen av funktioner som eval(), exec() eller system() om inte absolut nödvändigt.
Exempel: enkel PHP-sida
<?php // Ett enkelt exempel som skriver ut dagens datum echo "Hej! Idag är " . date("Y-m-d") . "."; ?> Prestanda och skalbarhet
Nyare PHP-versioner erbjuder stora förbättringar i hastighet jämfört med äldre versioner. För produktion används ofta PHP-FPM tillsammans med en reverse proxy (t.ex. Nginx) och caching-lösningar (OPcache, varnish, memcached/Redis) för att skala och snabba upp applikationer.
Komma igång
- Installera PHP via paket (apt, yum, Homebrew) eller använd färdiga utvecklingspaket som XAMPP, MAMP eller Laragon.
- Konfigurera php.ini för felrapportering, maxminne och uploads.
- Testa lokalt genom att placera .php-filer i webbserverns dokumentroten och öppna via webbläsaren, eller kör skript med PHP-CLI.
Sammanfattningsvis är PHP ett flexibelt och brett använt serversidespråk för webbutveckling. Det lämpar sig för allt från små personliga webbplatser till stora, komplexa webbapplikationer — förutsatt att man följer goda säkerhetsrutiner och moderna utvecklingsmetoder.