PHP

З пляцоўкі Вікіпедыя
Перайсці да: рух, знайсці

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

PHP
PHP-logo.svg
Клас мовы:

аб'ектная

Аўтар(ы):

Расмус Лердорф

Тыпізацыя дадзеных:

статычная

Зведала ўплыў:

Perl, C++, C, Java

Паўплывала на:

HTML

Гісторыя РНР[правіць | правіць зыходнік]

З'яўленне[правіць | правіць зыходнік]

Пачынаецца гісторыя з 1995 года, калі незалежны праграміст Расмус Лердорф (Rasmus Lerdorf) напісаў сцэнарый Perl/CGI для падліку колькасці карыстальнікаў і наведвальнікаў сайта. Яго сцэнарый вырашыў дзве праблемы: рэгістрацыю дадзеных карыстальніка і вывад колькасці наведвальнікаў на web-старонцы. Развіццё 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 000 карыстальнікаў у ва ўсім свеце прымянялі РНР для паляпшэння сваіх web-старонак.

Пераіменаванне[правіць | правіць зыходнік]

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

1 000 000 карыстальнікаў[правіць | правіць зыходнік]

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

РНР 4.0[правіць | правіць зыходнік]

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

PHP 5[правіць | правіць зыходнік]

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

PHP 6[правіць | правіць зыходнік]

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

PHP 7[правіць | правіць зыходнік]

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

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

Прыклады карыстання 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".

Дадатковыя звесткі[правіць | правіць зыходнік]

Агульная Zend Framework

Папярэджванне: Дадзеныя вышэй прыклады не будуць працаваць, калі ў Вас не ўсталяваны PHP і Apache. Поўную інфармацыю Вы можаце здабыць на сайце http://books.net-soft.ru/, адкуль і ўзята інфармацыя для гэтага артыкула.

Спасылкі[правіць | правіць зыходнік]

  1. http://php.net/manual/en/preface.php
  2. https://www.tiobe.com/tiobe-index//
  3. http://php.net/manual-lookup.php?pattern=%7Escoates%2Funicode%2Frender_func_data.php&lang=en&scope=404quickref
  4. https://www.amiro.ru/blog/tech/how-was-php6-died
  5. http://php.net/archive/2015.php#id2015-12-03-1