Перайсці да зместу

PHP

З Вікіпедыі, свабоднай энцыклапедыі
PHP
Клас мовы мультыпарадыгменная (аб'ектная,працэдурная)
З’явілася ў 8 чэрвеня 1995[1][2]
Аўтар(ы) Расмус Лердорф
Пашырэнне файлаў php, phar
Тыпізацыя даных дынамічная, слабая
Зведала ўплыў Perl,C++,C,Java
Ліцэнзія PHP License[d][3]
Сайт php.net(англ.)

PHP(англ.:PHP: Hypertext Preprocessor— прэпрацэсар гіпертэксту) — скрыптаваямова праграмавання[4]агульнага прызначэння, якая інтэнсіўна ўжываецца для распрацоўківэб-праграм.Цяпер падтрымліваецца пераважнай большасцю хостынг-правайдэраў і з’яўляецца адным з лідараў сярод моў праграмавання, якія ўжываюцца для стварэння дынамічныхвэбсайтаў.[5]

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

Расмус Лердорф, стваральнік 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]Архівавана30 красавіка 2013.) абвясціла аб тым, што, па мінімальным падлікам, колькасць карыстальнікаў РНР пераўзыйшла1 000 000,у выніку чаго РНР стала адной з самых папулярных сцэнарных моў у свеце.

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

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

Шостая версія PHP знаходзілася ў стадыі[6]распрацоўкі з кастрычніка 2006 года. У ёй ужо было зроблена мноства новаўвядзенняў, як, напрыклад, выключэнне з ядра рэгулярных выразаўPOSIXі «доўгіх» суперглабальных масіваў, выдаленне дырэктыў safe_mode, magic_quotes_gpc і register_globals канфігурацыйнага файлу php.ini. Асноўныя намаганні былі сканцэнтраваны на падтрымцы Юнікода. Аднак у сакавіку 2010 года распрацоўка PHP6 была прызнана беспэрспектыўнай[7]з-за цяжкасцей з падтрымкай Юнікода.Зыходны кодPHP6 перамешчаны на галіну, а асноўнай лініяй распрацоўкі стала версія 5.4.

3 снежня 2015 года было абвешчана пра выхад PHP версіі 7.0.0.[8]

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

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

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

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

[правіць|правіць зыходнік]
<html>

<title><?print«Helloworld!»;?></title>

</html>

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

<?

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

$site_title=«РНРRecipes»;

$bg_color=«white»;

$user_name=«ChefLuigi»;

?>

<html>

<head>

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

</head>

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

<?

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

РНРRecipes|.dateC'Fd.)."<br /> Greetings,$user_name!

";

?>

</body>

</html>

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

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

  1. Google GroupsПраверана 11 снежня 2018.
  2. PHP: History of PHP - ManualПраверана 25 жніўня 2016.
  3. http://php.net/license/Праверана 25 жніўня 2016.
  4. http://php.net/manual/en/preface.php
  5. https:// tiobe /tiobe-index//
  6. http://php.net/manual-lookup.php?pattern=%7Escoates%2Funicode%2Frender_func_data.php&lang=en&scope=404quickref
  7. https:// amiro.ru/blog/tech/how-was-php6-died
  8. http://php.net/archive/2015.php#id2015-12-03-1
  9. PHP: Новые возможности — Manual.Архіваваназ першакрыніцы 2 мая 2020.Праверана 2 мая 2020.
  10. PHP: News Archive — 2020.Архіваваназ першакрыніцы 13 кастрычніка 2020.Праверана 29 лістапада 2020.
  11. What’s new in PHP 8 — stitcher.io.Архіваваназ першакрыніцы 19 мая 2020.Праверана 3 мая 2020.
  12. PHP: rfc: union_types_v2.Архіваваназ першакрыніцы 1 красавіка 2020.Праверана 3 мая 2020.
  13. PHP: rfc: jit.Архіваваназ першакрыніцы 18 мая 2020.Праверана 3 мая 2020.