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

PHP

З Вікіпедыі, свабоднай энцыклапедыі

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

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

Гісторыя РНР

З'яўленне

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

PHP 7

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

Новая версія грунтуецца на эксперыментальнай галіне 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. Google Groups Праверана 11 снежня 2018.
  4. PHP: History of PHP - Manual Праверана 25 жніўня 2016.
  5. http://php.net/license/ Праверана 25 жніўня 2016.
  6. http://php.net/manual-lookup.php?pattern=%7Escoates%2Funicode%2Frender_func_data.php&lang=en&scope=404quickref
  7. https://www.amiro.ru/blog/tech/how-was-php6-died
  8. http://php.net/archive/2015.php#id2015-12-03-1