PHP

PHP ( — прэпрацэсар гіпертэксту) — скрыптавая мова праграмаванняhttp://php.net/manual/en/preface.php агульнага прызначэння, якая інтэнсіўна ўжываецца для распрацоўкі вэб-праграм. Цяпер падтрымліваецца пераважнай большасцю хостынг-правайдэраў і з’яўляецца адным з лідараў сярод моў праграмавання, якія ўжываюцца для стварэння дынамічных вэбсайтаў.https://www.tiobe.com/tiobe-index//

 Гісторыя РНР 

 З’яўленне 
Пачынаецца гісторыя з 1995 года, калі незалежны праграміст Расмус Лердорф (Rasmus Lerdorf) напісаў сцэнарый Perl/CGI для падліку колькасці карыстальнікаў і наведвальнікаў сайта. Яго сцэнарый вырашыў дзве праблемы: рэгістрацыю дадзеных карыстальніка і вывад колькасці наведвальнікаў на вэб-старонцы. Развіццё WWW яшчэ толькі пачыналася, ніякіх спецыяльных сродкаў для вырашэння гэтых праблем не было, і да аўтара прыйшло шмат роспытаў. З’явіліся інструкцыі, называемыя Personal Home Page (РНР) альбо Hypertext Processor (гіпертэкставы працэсар).

 Распрацоўка 
120px|thumb|Расмус Лердорф, стваральнік PHP
Вялікі поспех інструкцый Лердорфа паспрыяў буйнейшай распрацоўцы РНР. Каб дабіцца пастаўленай мэты, Лердорф вырашыў у далейшых распрацоўках перайсці з Perl на С. У хуткім часе з’явілася РНР 2.0, альбо PHP-FI (Personal Home Page — Form Interpretator). У абнаўленні з PHP да PHP 2.0 прымалі ўдзел праграмісты з усяго свету.

 Распаўсюджанне 
Новая версія РНР карысталася вялікай папулярнасцю, і ў хуткім часе ўзнікла асноўная каманда распрацоўшчыкаў. Яны захавалі пачатковую канцэпцыю магчымасці карыстання PHP у HTML і перапісалі нанава механізм лексічнага аналізу, што прывяло да з’яўлення РНР 3.0. Да моманту выхада версіі 3.0 у 1997 г. звыш 50 тыс. карыстальнікаў ва ўсім свеце прымянялі РНР для паляпшэння сваіх вэб-старонак.

 Пераіменаванне 
У 1997 годзе было вырашана, што скарачэнне РНР павінна абазначаць не «Personal Home page», а «РНР Hypertext Processor».

 1 000 000 карыстальнікаў 
На працягу двух гадоў працягвалася вялікае развіццё РНР. У мову дадавалася шмат новых функцый, а колькасць карыстальнікаў хутка расла. На пачатку 1999 года служба Netcraft ( ) абвясціла аб тым, што, па мінімальным падлікам, колькасць карыстальнікаў РНР пераўзыйшла 1 000 000, у выніку чаго РНР стала адной з самых папулярных сцэнарных моў у свеце.

 РНР 4.0 
На пачатку 1999 года было абвешчана пра выхад неўзабаве РНР 4.0. Хаця адным з мацнейшых бакоў РНР была эфектыўнасць выканання сцэнарыяў, пры пачатковых распрацоўках не разлічвалася, што на базе РНР будуць будавацца вялікія праграмы. Па гэтай прычыне была пачата праца над больш устойлівым механізмам лексічнага аналізу, болей вядомым пад назвай Zend (http://www.zend.com). Праца ішла хутка і завершана 22 мая 2000 года выпускам РНР 4.0.

 PHP 5 
Пятая версія PHP была выпушчана распрацоўнікамі 13 ліпеня 2004 года. Змены ўключаюць абнаўленне ядра Zend (Zend Engine 2), што значна павялічыла эфектыўнасць інтэрпрэтатара. Уведзена падтрымка мовы разметкі XML. Цалкам перапрацаваны функцыі AAП, якія сталі шмат у чым падобныя да мадэлі, якая ўжываецца Java. У прыватнасці, уведзены дэструктар, адкрытыя, закрытыя і абароненыя члены і метады, канечныя члены і метады, інтэрфейсы і кланаванне аб’ектаў. Новаўвядзенні, аднак, былі зроблены з разлікам захаваць найбольшую сумяшчальнасць з кодам на папярэдніх версіях мовы. На цяперашні момант апошняй стабільнай галінкай з’яўляецца PHP 5.6.

 PHP 6 
Шостая версія PHP знаходзілася ў стадыіhttp://php.net/manual-lookup.php?pattern=%7Escoates%2Funicode%2Frender_func_data.php&lang=en&scope=404quickref распрацоўкі з кастрычніка 2006 года. У ёй ужо было зроблена мноства новаўвядзенняў, як, напрыклад, выключэнне з ядра рэгулярных выразаў POSIX і «доўгіх» суперглабальных масіваў, выдаленне дырэктыў safe_mode, magic_quotes_gpc і register_globals канфігурацыйнага файлу php.ini. Асноўныя намаганні былі сканцэнтраваны на падтрымцы Юнікода. Аднак у сакавіку 2010 года распрацоўка PHP6 была прызнана беспэрспектыўнайhttps://www.amiro.ru/blog/tech/how-was-php6-died з-за цяжкасцей з падтрымкай Юнікода. Зыходны код PHP6 перамешчаны на галіну, а асноўнай лініяй распрацоўкі стала версія 5.4.

 PHP 7 
3 снежня 2015 года было абвешчана пра выхад PHP версіі 7.0.0.http://php.net/archive/2015.php#id2015-12-03-1

Новая версія грунтуецца на эксперыментальнай галіне PHP, якая першапачаткова называлася phpng (PHP Next Generation — наступнае пакаленне), і распрацоўвалася з упорам на павелічэнне прадукцыйнасці і памяншэнне спажывання памяці. У новай версіі дададзена магчымасць ўказваць тып вярталых з функцыі дадзеных, быў дададзены кантроль перадаваных тыпаў для скалярных дадзеных, а таксама новыя аператары.

13 чэрвеня 2019 года выйшла версія PHP 7.4. У ядро былі дададзены тыпізаваныя ўласцівасці і стрэлачныя функцыі, а таксама абмежаваная каварыянтнасць тыпу вяртання і контраварыянтнасць тыпу аргумента.

 PHP 8 
PHP версіі 8.0 была выпушчана 26 лістапада 2020 года. Галоўнымі новаўвядзеннямі сталі: падтрымка union-тыпаў, JIT-кампіляцыя і атрыбуты (таксама вядомыя як анатацыі), як альтэрнатыва канструкцыі switch быў дададзены выраз match, таксама быў дададзены новы аператар Nullsafe.

 Прыклады карыстання PHP 

 «Hello world!» 
<html>

<title><? print «Hello world!»; ?></title>

</html>
У дадзеным выпадку на загалоўку старонкі будзе напісана «Hello world!».

 «РНР Recipes» 
<?

// Даць значэнні некалькім пераменным

$site_title = «РНР Recipes»;

$bg_color = «white»;

$user_name = «Chef Luigi»;

?>

<html>

<head>

<title><? print $site_title; ?></title>

</head>

<body bgcolor="<? print $bg color; ?>« >

<?

// Вывесці запршэнне ў выглядзе назвы, даты і імя карыстальніка. print „

РНР Recipes | “.dateC'F d. Y»)." <br /> Greetings, $user_name!

";

?>

</body>

</html>
У дадзеным выпадку на загалоўку старонкі будзе напісана «РНР Recipes», колер фона будзе вызначацца пераменнай «$bg color», а імя карыстальніка — «$user_name».

Папярэджанне: Дадзеныя вышэй прыклады не будуць працаваць, калі ў вас не ўсталяваны PHP і Apache.

 Зноскі 

 Спасылкі 
 Афіцыйны сайт The PHP Group

Катэгорыя:Мовы праграмавання
Катэгорыя:Скрыптовыя мовы
Катэгорыя:Мовы вэб-праграмавання
Катэгорыя:Свабодныя кампілятары і інтэрпрэтатары
Катэгорыя:Аб’ектна-арыентаваныя мовы праграмавання
Катэгорыя:Мовы праграмавання высокага ўзроўню
Катэгорыя:Мовы з дынамічнай тыпізацыяй
Катэгорыя:Інтэрнэт-тэрміналогія
Катэгорыя:Праграмнае забеспячэнне, распрацаванае ў 1995 годзе