PHP

PHP (PHP: Hypertext Preprocessor) on skriptimiskeel, mida kasutatakse peamiselt serveripoolsetes lahendustes dünaamiliste veebilehtede loomisel. PHP toetab objektorienteeritud programmeerimist, andmebaasidega suhtlemist ning moodulite kaudu veel paljusid protokolle ja rakendusi.

Avatud lähtekood ja võimalus lihtsalt siduda PHP koodi HTML-iga on teinud PHP-st väga populaarse vahendi dünaamiliste veebilehtede loomisel. Levinud on kooslus mida hüütakse rakenduste esitähtede järgi LAMP (Linux, Apache, MySQL, PHP).

Ajalugu 

PHP sai alguse 1994. aastal Rasmus Lerdorfi loodud CGI teekidest. Lühend PHP tähendas algselt Personal Home Page (isiklik koduleht). Lerdorf avalikustas PHP koodi 8. juunil 1995. Too avalikustatud kood kandis versiooninumbrit 2 ning sisaldas juba suurt osa PHP praegustest funktsioonidest.
 1997 valmis PHP 3, mis sisaldas uut parserit. Ühtlasi muutus keele nimi rekursiivseks lühendiks sõnadest PHP: Hypertext Preprocessor (PHP: hüperteksti preprotsessor).
 2000 ilmus PHP 4 koos uue mootoriga Zend Engine 1.0.
 2004 lasti välja PHP 5, mis sisaldas täiendatud objektorienteeritud programmeerimise tuge ning mootorit Zend Engine 2.0.
 2015 detsembris lasti välja PHP 7 koos uue mootoriga Zend Engine 3.0, mis väidetavalt muudab PHP rakendused kuni 2x kiiremaks ja tarbib 50% ulatuses paremini mälu.

Süntaks 
PHP süntaks on põhiliselt laenatud keeltest C, Java ja Perl.

PHP koodina parsitakse vaid spetsiaalselt märgendatud osad failist. Kõik väljaspool neid märgendeid saadetakse lihtsalt programmi väljundisse. 

 Vaikimisi kasutatakse PHP sektsiooni algusmärgendina <?php ja lõpumärgendina ?>. Võimalik on kasutada ka märgendeid <? ja ?>, <% ja %>, ning <script language="PHP"> ja <code></script></code>.

 Muutujanimed algavad dollarimärgiga (näiteks $muutuja) ning on tõusutundlikud. Klasside ja funktsioonide nimed on seevastu ilma $-prefiksita ning tõusutundetud. Dollarimärk muutuja ees võimaldab kergesti muutuja väärtuse sõne sisse asendada (näiteks "Tere $nimi").

 Kommentaaride esitamiseks on kolm süntaksit: plokikommentaarid algavad /* ja lõpevad */ märgendiga, reakommentaarid algavad kas trellide # või kahe kaldkriipsuga //.

 Iga käsk (enamasti rida) peab lõppema semikooloniga.

Hello world 
Hello worldi programm PHP-s:

<?php
    // Kuvab ekraanil teksti Hello, world!
  echo "Hello, world!";
?>

PHP kasutamine serverites
Kuigi PHP skriptid töötavad paljudes serverites, ei tööta need kõigis serverites. Tegemaks kindlaks, kas kasutamisel olevas serveris saab PHP-d rakendada, tuleb luua tavaline tekstifail (näiteks programmiga Notepad++ või Notepad) ja salvestada see laiendiga .php (vajadusel võib proovida ka erinevaid faililaiendeid, näiteks laiendit .php3). Faili sisu peab olema analoogne järgnevalt esitatule:
<?php
echo '<p>PHP on nüüd installitud</p>';
phpinfo();
?>

Seejärel tuleb loodud php-fail (näiteks info.php) laadida oma serverisse ja avada veebibrauseris. Kui PHP-d saab kasutada soovitud serveris, siis tuleb ette tabel PHP konfiguratsiooni kohta. Muul juhul kuvatakse näiteks valge leht või seesama koodiriba.

Funktsioonid 
PHP-l on sisse ehitatud sadu funktsioone ja koos laienditega kokku tuhandeid. Funktsioonid on hästi dokumenteeritud PHP kodulehel. Funktsioonidele saab viidata ainult nende nime järgi, otseselt või dünaamiliselt – muutuja sisaldab funktsiooni nime. Funktsioone saab ise teha ilma, et neid peaks prototüüpima.Funktsiooni tegemine käib järgmiselt:
/*
    Funktsiooni struktuur: iga funktsioon algab sõnaga function, millele järgneb funktsiooni nimi, 
    millele omakorda järgneb sulud ja lõpuks bracket { ja bracketi lõpp }, mis suleb funktsiooni.
*/

// Funktsioon nimega nimi, mis tagastab väärtuseks 'Pille Riin';
function nimi() {
    return 'Pille Riin';
}

echo 'Minu nimi on ' . nimi() . '.';

Vaata ka 
 ASP
 JSP
 CGI
 Perl
 Apache
 MySQL
 HTML
 Smarty

Viited

Välislingid 

 PHP Eesti koduleht
 PHP Center koduleht (eesti keeles)
 phpPgAdmin is a web-based administration tool for PostgreSQL – phpPgAdmin
 phpMyAdmin
 PHP wiki (eesti keeles)
 PHP õpetused (eesti keeles)
 PHP 7 Guide 

Programmeerimiskeeled
Vaba tarkvara
Skriptimiskeeled