PHP (англ.: PHP: Hypertext Preprocessor — прэпрацэсар гіпертэксту) — скрыптавая мова праграмавання агульнага прызначэння, якая інтэнсіўна ўжываецца для распрацоўкі вэб-праграм. Цяпер падтрымліваецца пераважнай большасцю хостынг-правайдэраў і з’яўляецца адным з лідараў сярод моў праграмавання, якія ўжываюцца для стварэння дынамічных вэбсайтаў.
PHP | |
---|---|
Клас мовы | мультыпарадыгменная (аб'ектная, працэдурная) |
З’явілася ў | 8 чэрвеня 1995 |
Аўтар(ы) | |
Пашырэнне файлаў | php, phar |
дынамічная, слабая | |
Зведала ўплыў | Perl, C++, C, Java |
Ліцэнзія | PHP License[d] |
Сайт | php.net (англ.) |
Гісторыя РНР
З’яўленне
Пачынаецца гісторыя з 1995 года, калі незалежны праграміст (Rasmus Lerdorf) напісаў сцэнарый Perl/CGI для падліку колькасці карыстальнікаў і наведвальнікаў сайта. Яго сцэнарый вырашыў дзве праблемы: рэгістрацыю дадзеных карыстальніка і вывад колькасці наведвальнікаў на вэб-старонцы. Развіццё WWW яшчэ толькі пачыналася, ніякіх спецыяльных сродкаў для вырашэння гэтых праблем не было, і да аўтара прыйшло шмат роспытаў. З’явіліся інструкцыі, называемыя Personal Home Page (РНР) альбо Hypertext Processor (гіпертэкставы працэсар).
Распрацоўка
Вялікі поспех інструкцый паспрыяў буйнейшай распрацоўцы РНР. Каб дабіцца пастаўленай мэты, вырашыў у далейшых распрацоўках перайсці з 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, у выніку чаго РНР стала адной з самых папулярных сцэнарных моў у свеце.
РНР 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 знаходзілася ў стадыі распрацоўкі з кастрычніка 2006 года. У ёй ужо было зроблена мноства новаўвядзенняў, як, напрыклад, выключэнне з ядра рэгулярных выразаў POSIX і «доўгіх» суперглабальных масіваў, выдаленне дырэктыў safe_mode, magic_quotes_gpc і register_globals канфігурацыйнага файлу php.ini. Асноўныя намаганні былі сканцэнтраваны на падтрымцы Юнікода. Аднак у сакавіку 2010 года распрацоўка PHP6 была прызнана беспэрспектыўнай з-за цяжкасцей з падтрымкай Юнікода. Зыходны код PHP6 перамешчаны на галіну, а асноўнай лініяй распрацоўкі стала версія 5.4.
PHP 7
3 снежня 2015 года было абвешчана пра выхад PHP версіі 7.0.0.
Новая версія грунтуецца на эксперыментальнай галіне 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 і .
Зноскі
- Google Groups Праверана 11 снежня 2018.
- PHP: History of PHP - Manual Праверана 25 жніўня 2016.
- http://php.net/license/ Праверана 25 жніўня 2016.
- http://php.net/manual/en/preface.php
- https://www.tiobe.com/tiobe-index//
- http://php.net/manual-lookup.php?pattern=%7Escoates%2Funicode%2Frender_func_data.php&lang=en&scope=404quickref
- https://www.amiro.ru/blog/tech/how-was-php6-died
- http://php.net/archive/2015.php#id2015-12-03-1
- PHP: Новые возможности — Manual . Архівавана з першакрыніцы 2 мая 2020. Праверана 2 мая 2020.
- PHP: News Archive — 2020 . Архівавана з першакрыніцы 13 кастрычніка 2020. Праверана 29 лістапада 2020.
- What’s new in PHP 8 — stitcher.io . Архівавана з першакрыніцы 19 мая 2020. Праверана 3 мая 2020.
- PHP: rfc: union_types_v2 . Архівавана з першакрыніцы 1 красавіка 2020. Праверана 3 мая 2020.
- PHP: rfc: jit . Архівавана з першакрыніцы 18 мая 2020. Праверана 3 мая 2020.
Спасылкі
- Афіцыйны сайт The PHP Group
Вікіпедыя, Вікі, кніга, кнігі, бібліятэка, артыкул, чытаць, спампоўваць, бясплатна, бясплатна спампаваць, mp3, відэа, mp4, 3gp, jpg, jpeg, gif, png, малюнак, музыка, песня, фільм, кніга, гульня, гульні, мабільны, тэлефон, Android, iOS, Apple, мабільны тэлефон, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, ПК, Інтэрнэт, кампутар
PHP angl PHP Hypertext Preprocessor prepracesar gipertekstu skryptavaya mova pragramavannya agulnaga pryznachennya yakaya intensiyna yzhyvaecca dlya raspracoyki veb pragram Cyaper padtrymlivaecca peravazhnaj bolshascyu hostyng pravajderay i z yaylyaecca adnym z lidaray syarod moy pragramavannya yakiya yzhyvayucca dlya stvarennya dynamichnyh vebsajtay PHPKlas movy multyparadygmennaya ab ektnaya pracedurnaya Z yavilasya y 8 chervenya 1995Aytar y Pashyrenne fajlay php phardynamichnaya slabayaZvedala yplyy Perl C C JavaLicenziya PHP License d Sajt php net angl Gistoryya RNRZ yaylenne Pachynaecca gistoryya z 1995 goda kali nezalezhny pragramist Rasmus Lerdorf napisay scenaryj Perl CGI dlya padliku kolkasci karystalnikay i navedvalnikay sajta Yago scenaryj vyrashyy dzve prablemy registracyyu dadzenyh karystalnika i vyvad kolkasci navedvalnikay na veb staroncy Razviccyo WWW yashche tolki pachynalasya niyakih specyyalnyh srodkay dlya vyrashennya getyh prablem ne bylo i da aytara pryjshlo shmat rospytay Z yavilisya instrukcyi nazyvaemyya Personal Home Page RNR albo Hypertext Processor gipertekstavy pracesar Raspracoyka Rasmus Lerdorf stvaralnik PHP Vyaliki pospeh instrukcyj paspryyay bujnejshaj raspracoycy RNR Kab dabicca pastaylenaj mety vyrashyy u dalejshyh raspracoykah perajsci z Perl na S U hutkim chase z yavilasya RNR 2 0 albo PHP FI Personal Home Page Form Interpretator U abnaylenni z PHP da PHP 2 0 prymali ydzel pragramisty z usyago svetu Raspaysyudzhanne Novaya versiya RNR karystalasya vyalikaj papulyarnascyu i y hutkim chase yznikla asnoynaya kamanda raspracoyshchykay Yany zahavali pachatkovuyu kancepcyyu magchymasci karystannya PHP u HTML i perapisali nanava mehanizm leksichnaga analizu shto pryvyalo da z yaylennya RNR 3 0 Da momantu vyhada versii 3 0 u 1997 g zvysh 50 tys karystalnikay va ysim svece prymyanyali RNR dlya palyapshennya svaih veb staronak Peraimenavanne U 1997 godze bylo vyrashana shto skarachenne RNR pavinna abaznachac ne Personal Home page a RNR Hypertext Processor 1 000 000 karystalnikay Na pracyagu dvuh gadoy pracyagvalasya vyalikae razviccyo RNR U movu dadavalasya shmat novyh funkcyj a kolkasc karystalnikay hutka rasla Na pachatku 1999 goda sluzhba Netcraft 1 Arhivavana 30 krasavika 2013 abvyascila ab tym shto pa minimalnym padlikam kolkasc karystalnikay RNR perayzyjshla 1 000 000 u vyniku chago RNR stala adnoj z samyh papulyarnyh scenarnyh moy u svece RNR 4 0 Na pachatku 1999 goda bylo abveshchana pra vyhad neyzabave RNR 4 0 Hacya adnym z macnejshyh bakoy RNR byla efektyynasc vykanannya scenaryyay pry pachatkovyh raspracoykah ne razlichvalasya shto na baze RNR buduc budavacca vyalikiya pragramy Pa getaj prychyne byla pachata praca nad bolsh ustojlivym mehanizmam leksichnaga analizu bolej vyadomym pad nazvaj Zend http www zend com Praca ishla hutka i zavershana 22 maya 2000 goda vypuskam RNR 4 0 PHP 5 Pyataya versiya PHP byla vypushchana raspracoynikami 13 lipenya 2004 goda Zmeny yklyuchayuc abnaylenne yadra Zend Zend Engine 2 shto znachna pavyalichyla efektyynasc Uvedzena padtrymka movy razmetki XML Calkam perapracavany funkcyi AAP yakiya stali shmat u chym padobnyya da madeli yakaya yzhyvaecca Java U pryvatnasci uvedzeny destruktar adkrytyya zakrytyya i abaronenyya chleny i metady kanechnyya chleny i metady interfejsy i klanavanne ab ektay Novayvyadzenni adnak byli zrobleny z razlikam zahavac najbolshuyu sumyashchalnasc z kodam na papyarednih versiyah movy Na cyaperashni momant aposhnyaj stabilnaj galinkaj z yaylyaecca PHP 5 6 PHP 6 Shostaya versiya PHP znahodzilasya y stadyi raspracoyki z kastrychnika 2006 goda U yoj uzho bylo zroblena mnostva novayvyadzennyay yak napryklad vyklyuchenne z yadra regulyarnyh vyrazay POSIX i doygih superglabalnyh masivay vydalenne dyrektyy safe mode magic quotes gpc i register globals kanfiguracyjnaga fajlu php ini Asnoynyya namaganni byli skancentravany na padtrymcy Yunikoda Adnak u sakaviku 2010 goda raspracoyka PHP6 byla pryznana besperspektyynaj z za cyazhkascej z padtrymkaj Yunikoda Zyhodny kod PHP6 perameshchany na galinu a asnoynaj liniyaj raspracoyki stala versiya 5 4 PHP 7 3 snezhnya 2015 goda bylo abveshchana pra vyhad PHP versii 7 0 0 Novaya versiya gruntuecca na eksperymentalnaj galine PHP yakaya pershapachatkova nazyvalasya phpng PHP Next Generation nastupnae pakalenne i raspracoyvalasya z uporam na pavelichenne pradukcyjnasci i pamyanshenne spazhyvannya pamyaci U novaj versii dadadzena magchymasc ykazvac typ vyartalyh z funkcyi dadzenyh byy dadadzeny kantrol peradavanyh typay dlya skalyarnyh dadzenyh a taksama novyya aperatary 13 chervenya 2019 goda vyjshla versiya PHP 7 4 U yadro byli dadadzeny typizavanyya ylascivasci i strelachnyya funkcyi a taksama abmezhavanaya kavaryyantnasc typu vyartannya i kontravaryyantnasc typu argumenta PHP 8 PHP versii 8 0 byla vypushchana 26 listapada 2020 goda Galoynymi novayvyadzennyami stali padtrymka union typay JIT kampilyacyya i atrybuty taksama vyadomyya yak anatacyi yak alternatyva kanstrukcyi switch byy dadadzeny vyraz match taksama byy dadadzeny novy aperatar Nullsafe Pryklady karystannya PHP Hello world lt html gt lt title gt lt print Hello world gt lt title gt lt html gt U dadzenym vypadku na zagaloyku staronki budze napisana Hello world RNR Recipes lt Dac znachenni nekalkim peramennym site title RNR Recipes bg color white user name Chef Luigi gt lt html gt lt head gt lt title gt lt print site title gt lt title gt lt head gt lt body bgcolor lt print bg color gt gt lt Vyvesci zaprshenne y vyglyadze nazvy daty i imya karystalnika print RNR Recipes dateC F d Y lt br gt Greetings user name gt lt body gt lt html gt U dadzenym vypadku na zagaloyku staronki budze napisana RNR Recipes koler fona budze vyznachacca peramennaj bg color a imya karystalnika user name Papyaredzhanne Dadzenyya vyshej pryklady ne buduc pracavac kali y vas ne ystalyavany PHP i ZnoskiGoogle GroupsPraverana 11 snezhnya 2018 PHP History of PHP ManualPraverana 25 zhniynya 2016 http php net license Praverana 25 zhniynya 2016 http php net manual en preface php https www tiobe com tiobe index http php net manual lookup php pattern 7Escoates 2Funicode 2Frender func data php amp lang en amp scope 404quickref https www amiro ru blog tech how was php6 died http php net archive 2015 php id2015 12 03 1 PHP Novye vozmozhnosti Manual nyavyzn Arhivavana z pershakrynicy 2 maya 2020 Praverana 2 maya 2020 PHP News Archive 2020 nyavyzn Arhivavana z pershakrynicy 13 kastrychnika 2020 Praverana 29 listapada 2020 What s new in PHP 8 stitcher io nyavyzn Arhivavana z pershakrynicy 19 maya 2020 Praverana 3 maya 2020 PHP rfc union types v2 nyavyzn Arhivavana z pershakrynicy 1 krasavika 2020 Praverana 3 maya 2020 PHP rfc jit nyavyzn Arhivavana z pershakrynicy 18 maya 2020 Praverana 3 maya 2020 SpasylkiAficyjny sajt The PHP Group