PHP – mis see on? Skriptikeel ja põhitõed veebiarenduses
PHP — serveripoolne skriptikeel veebiarenduse põhitõdedest: kuidas luua dünaamilisi, paroolikaitstud ja interaktiivseid veebilehti ning alustada PHP-ga.
PHP (PHP: Hypertext Preprocessor) on skriptikeel, mis aitab inimestel teha veebilehti interaktiivsemaks, võimaldades neil teha intelligentsemaid ja keerulisemaid asju. PHP-koodi käivitatakse veebiserveris ja tulemus (tavaliselt HTML) saadetakse brauserile — kasutaja ei näe otseselt serveris jooksvaid PHP-failide allikaid.
PHP-ga programmeeritud veebisaidil võivad olla parooliga kaitstud leheküljed, vormide sisu töötlemine, andmebaasipäringud, failide üleslaadimine, sessioonihaldus jpm. Programmeerimata staatiline veebileht ei saa neid funktsioone ilma muude keeruliste lahendusteta pakkuda. Standardsed PHP faililaiendid on .php, .php3 või .phtml, kuid veebiserveri võib seadistada kasutama mis tahes laiendust.
Selle struktuuri ja süntaksi on mõjutanud paljud keeled nagu C, Perl, Java, C++ ja isegi Python. Vaba Tarkvara Sihtasutus peab seda vabaks tarkvaraks. PHP arendus on aktiivne ning keel on arenenud ühest lihtsast skriptikeelest täisväärtuslikuks platvormiks, mis toetab objektorienteeritust, mooduleid ja paketihaldust.
Kuidas PHP töötab
PHP on serveripoolne keel — kood täidetakse serveris ja tulemuseks olev HTML saadetakse kliendi brauserile. Tavapärane töövoog:
- Kasuta brauseris URL-i, mis osutab .php-failile;
- Veebiserver (nt Apache või Nginx koos PHP-FPM-ga) käivitab PHP-tõlgendi;
- PHP käivitab skripti, suhtleb vajadusel andmebaasiga ja genereerib HTML-i;
- Server saadab genereeritud HTML-i brauserile, mis kuvab lehe kasutajale.
Põhikontseptsioonid ja süntaks
PHP-d saab otse HTML-i sisse manustada kasutades PHP-sildiid:
<?php echo "Tere, maailm!"; ?>
Mõned olulised mõisted:
- Muutujad algavad alati dollarimärgiga: $muutuja;
- Massiivid ja assotsiatiivsed massiivid (näiteks $a = array(1, 2); või $u = ["nimi" => "Mari"] );
- Funktsioonid defineeritakse function võtmesõnaga;
- Objektorienteeritus (klassid, pärimine, liidesed) alates PHP 5-st väga levinud;
- Sessioonid ja küpsised (session_start(), $_SESSION, setcookie()) kasutajate seisu hoidmiseks;
- Andmebaasipäringud tihti MySQL/MariaDB-ga kasutades mysqli või PDO liidest.
Tüüpilised kasutusvaldkonnad
- Veebirakendused ja CMS-id (nt WordPress, mis põhineb PHP-l);
- Vormide töötlemine ja valideerimine;
- Autentimine ja autoriseerimine (login- ja kasutajahalduse lahendused);
- API-de ja REST-teenuste loomine;
- Andmebaasipõhised rakendused (poed, sisesüsteemid jne.).
Paigaldus ja server
PHP töötab paljudel platvormidel (Linux, Windows, macOS) ja ühildub tavaliste veebiserveritega nagu Apache ja Nginx. Arendamisel kasutatakse sageli komplekteeritud keskkondi (nt XAMPP, MAMP, LAMP), mis sisaldavad Apache/Nginx, MySQL/MariaDB ja PHP-d. Tootmiskeskkonnas on levinud kombinatsioon Nginx + PHP-FPM.
Turvalisus ja parimad tavad
PHP-rakenduste turvalisus on oluline — levinumad riskid ja soovitused:
- Sisestuse puhastamine: kasuta htmlspecialchars() HTML-i väljundil ja valideeri/sanitiseeri sissetulevat andmestikku;
- SQL-injektiooni vältimine: kasuta ette valmistatud päringuid (prepared statements) PDO või mysqli abil;
- Paroolide turvaline salvestamine: kasuta password_hash() ja password_verify();
- Failide üleslaadimise piirangud ja tüübi kontrollimine;
- Veateadete piiramine tootmiskeskkonnas (ära näita täpseid SQL- või süsteemivigu kasutajale).
Ökosüsteem ja raamistikud
PHP-l on suur ökosüsteem: paketihaldur Composer lihtsustab sõltuvuste haldust; populaarseid raamistikke on näiteks Laravel, Symfony, CodeIgniter ja Slim, mis kiirendavad arendust ning pakuvad struktuuri ja parimaid tavasid. Lisaks on olemas ulatuslikud CMS-id nagu WordPress, Drupal ja Joomla.
Kust alustada
- Installi kohalik arenduskeskkond (XAMPP/MAMP/LAMP) või kasuta kontainerit (Docker);
- Õpi PHP põhistruktuuri, süntaksit ja HTTP-põhimõtteid;
- Harjuta vormide töötlemist, sessioone ja andmebaasiga suhtlemist;
- Tutvu Composeriga ja katseta mõne raamistikuga (nt Laravel), kui vajad suuremat rakendust.
PHP on paindlik ja laialt levinud keel väikestest saitidest kuni suuremate veebirakendusteni. Õigete tööriistade ja turvapraktikate kasutamisel on see jätkuvalt tugev valik serveripoolse arenduse jaoks.
Ajalugu
PHP loodi esmakordselt 1995. aastal Rasmus Lerdorfi poolt. Nüüdseks on seda arendanud ja täiustanud suur meeskond. Selle nimi tähendas algul Personal Home Page, kuid hiljem muudeti see PHP-ks: Hypertext Preprocessor; kasutades uues nimes vana akronüümi.
Näide
Näide Hello World programmist:
Näiteks on tavaline, et PHP-koodi pannakse HTML-dokumendi sisse:
Otsige