PHP: erinevus redaktsioonide vahel

Allikas: Vikipeedia
Eemaldatud sisu Lisatud sisu
Xqbot (arutelu | kaastöö)
P Bot: Replace deprecated <source> tag and "enclose" parameter
P 1995. aasta EI OLNUD 22 aastat tagasi!
4. rida: 4. rida:
| faililaiend = .php, .inc, .php5, .phtml, .phps
| faililaiend = .php, .inc, .php5, .phtml, .phps
| paradigma = [[imperatiivne programmeerimine|imperatiivne]], [[objektorienteeritud programmeerimine|objektorienteeritud]] ([[klassipõhine objektorienteeritud programmeerimine|klassipõhine]])
| paradigma = [[imperatiivne programmeerimine|imperatiivne]], [[objektorienteeritud programmeerimine|objektorienteeritud]] ([[klassipõhine objektorienteeritud programmeerimine|klassipõhine]])
| väljalaskeaeg = 1995; 22 aastat tagasi
| väljalaskeaeg = 1995
| disainer = [[Rasmus Lerdorf]]
| disainer = [[Rasmus Lerdorf]]
| arendaja = The PHP Group
| arendaja = The PHP Group
12. rida: 12. rida:
| mõjutajad = [[C (programmeerimiskeel)|C]], [[Perl]], [[Java]], [[C++]], [[Tcl]]
| mõjutajad = [[C (programmeerimiskeel)|C]], [[Perl]], [[Java]], [[C++]], [[Tcl]]
| mõjutatavad = [[Php4Delphi]]
| mõjutatavad = [[Php4Delphi]]
| os = multi-platvormne
| os = multiplatvormne
| litsents = [[PHP License]]
| litsents = [[PHP License]]
| veebileht = [http://www.php.net www.php.net]
| veebileht = [http://www.php.net www.php.net]
19. rida: 19. rida:
'''PHP''' (PHP: Hypertext Preprocessor) on [[skriptimiskeel]], mida kasutatakse peamiselt [[server]]ipoolsetes lahendustes [[dünaamiline veebileht|dünaamiliste]] [[veebileht]]ede loomisel. PHP toetab [[objektorienteeritud programmeerimine|objektorienteeritud programmeerimist]], [[andmebaas]]idega suhtlemist ning [[moodul (informaatika)|moodulite]] kaudu veel paljusid [[protokoll (informaatika)|protokolle]] ja [[rakendus (informaatika)|rakendusi]].
'''PHP''' (PHP: Hypertext Preprocessor) on [[skriptimiskeel]], mida kasutatakse peamiselt [[server]]ipoolsetes lahendustes [[dünaamiline veebileht|dünaamiliste]] [[veebileht]]ede loomisel. PHP toetab [[objektorienteeritud programmeerimine|objektorienteeritud programmeerimist]], [[andmebaas]]idega suhtlemist ning [[moodul (informaatika)|moodulite]] kaudu veel paljusid [[protokoll (informaatika)|protokolle]] ja [[rakendus (informaatika)|rakendusi]].


[[Avatud lähtekood]] ja võimalus lihtsalt siduda PHP koodi [[HTML]]-iga on teinud PHP-st väga populaarse vahendi dünaamiliste lehekülgede loomisel. Levinud on kooslus mida hüütakse rakenduste esitähtede järgi [[LAMP-platvorm|LAMP]] ([[Linux]], [[Apache HTTP Server|Apache]], [[MySQL]], PHP).
[[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-platvorm|LAMP]] ([[Linux]], [[Apache HTTP Server|Apache]], [[MySQL]], PHP).


== Ajalugu ==
== Ajalugu ==


PHP sai alguse 1994. aastal [[Rasmus Lerdorf]]i poolt loodud [[CGI]] [[teek]]idest. 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.
PHP sai alguse 1994. aastal [[Rasmus Lerdorf]]i loodud [[CGI]] [[teek]]idest. 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 [[rekursiivne lühend|rekursiivseks lühendiks]] sõnadest ''PHP: Hypertext Preprocessor'' (PHP: hüperteksti preprotsessor).
* 1997 valmis PHP 3, mis sisaldas uut parserit. Ühtlasi muutus keele nimi [[rekursiivne lühend|rekursiivseks lühendiks]] sõnadest ''PHP: Hypertext Preprocessor'' (PHP: hüperteksti preprotsessor).
* 2000 ilmus PHP 4 koos uue mootoriga Zend Engine 1.0.
* 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.
* 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.
* 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 ==
== Süntaks ==
PHP [[süntaks]] on põhiliselt laenatud keeltest [[C (keel)|C]], [[Java]] ja [[Perl]].
PHP [[süntaks]] on põhiliselt laenatud keeltest [[C (keel)|C]], [[Java]] ja [[Perl]].
33. rida: 34. rida:
PHP koodina parsitakse vaid spetsiaalselt märgendatud osad failist. Kõik väljaspool neid märgendeid saadetakse lihtsalt programmi väljundisse.
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 <code><?php</code> ja lõpumärgendina <code>?></code>. Võimalik on kasutada ka märgendeid <code><?</code> ja <code>?></code>, <code><%</code> ja <code>%></code>, ning <code><script language="PHP"></code> ja <code></script></code>.<ref>[http://www.php.net/manual/en/language.basic-syntax.phpmode.php PHP: Escaping from HTML], PHP Manual.</ref>
* Vaikimisi kasutatakse PHP sektsiooni algusmärgendina <code><?php</code> ja lõpumärgendina <code>?></code>. Võimalik on kasutada ka märgendeid <code><?</code> ja <code>?></code>, <code><%</code> ja <code>%></code>, ning <code><script language="PHP"></code> ja <code></script></code>.<ref>[http://www.php.net/manual/en/language.basic-syntax.phpmode.php PHP: Escaping from HTML], PHP Manual.</ref>


*[[Muutuja]]nimed algavad dollarimärgiga (näiteks <code>$muutuja</code>) ning on tõusutundlikud.<ref>[http://www.php.net/manual/en/language.variables.basics.php PHP: Variable basics], PHP Manual</ref> [[Klass (programmeerimine)|Klasside]] ja [[alamprogramm|funktsioonide]] nimed on seevastu ilma <code>$</code>-prefiksita ning tõusutundetud.<ref>[http://www.php.net/manual/en/functions.user-defined.php PHP: User-defined functions], PHP Manual.</ref> Dollarimärk muutuja ees võimaldab kergesti muutuja väärtuse [[sõne (andmetüüp)|sõne]] sisse asendada (näiteks <code>"Tere $nimi"</code>).
* [[Muutuja]]nimed algavad dollarimärgiga (näiteks <code>$muutuja</code>) ning on tõusutundlikud.<ref>[http://www.php.net/manual/en/language.variables.basics.php PHP: Variable basics], PHP Manual</ref> [[Klass (programmeerimine)|Klasside]] ja [[alamprogramm|funktsioonide]] nimed on seevastu ilma <code>$</code>-prefiksita ning tõusutundetud.<ref>[http://www.php.net/manual/en/functions.user-defined.php PHP: User-defined functions], PHP Manual.</ref> Dollarimärk muutuja ees võimaldab kergesti muutuja väärtuse [[sõne (andmetüüp)|sõne]] sisse asendada (näiteks <code>"Tere $nimi"</code>).


*[[Kommentaar (programmeerimine)|Kommentaaride]] esitamiseks on kolm süntaksit: plokikommentaarid algavad <code>/*</code> ja lõpevad <code>*/</code> märgendiga, reakommentaarid algavad kas trellide <code>#</code> või kahe kaldkriipsuga <code>//</code>.<ref>[http://www.php.net/manual/en/language.basic-syntax.comments.php PHP: Comments], PHP Manual.</ref>
* [[Kommentaar (programmeerimine)|Kommentaaride]] esitamiseks on kolm süntaksit: plokikommentaarid algavad <code>/*</code> ja lõpevad <code>*/</code> märgendiga, reakommentaarid algavad kas trellide <code>#</code> või kahe kaldkriipsuga <code>//</code>.<ref>[http://www.php.net/manual/en/language.basic-syntax.comments.php PHP: Comments], PHP Manual.</ref>


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


=== Hello world ===
=== Hello world ===

Redaktsioon: 18. oktoober 2020, kell 13:40

PHP
Faililaiend .php, .inc, .php5, .phtml, .phps
Paradigma imperatiivne, objektorienteeritud (klassipõhine)
Väljalaskeaeg 1995
Looja Rasmus Lerdorf
Arendaja The PHP Group
Viimane väljalase 7.1.10 (1. september 2017)
Tüüpimine dünaamiline, nõrk
Implementatsioonid Zend Engine, Roadsend PHP, Phalanger, Quercus, Project Zero, HipHop
Mõjutatud keeltest C, Perl, Java, C++, Tcl
Mõjutanud keeli Php4Delphi
OS multiplatvormne
Litsents PHP License
Veebileht www.php.net

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 </script>.[1]
  • Muutujanimed algavad dollarimärgiga (näiteks $muutuja) ning on tõusutundlikud.[2] Klasside ja funktsioonide nimed on seevastu ilma $-prefiksita ning tõusutundetud.[3] 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 //.[4]
  • 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

Viited

Välislingid