PHP
PHP est lingua ad scripta programmanda sitibus interretialibus apta, syntaxi linguarum C et C++ similis, quae a Rasmo Lerdorf programmatore Danico-Canadensi anno 1994 excogitata, anno 1995 edita est.[1] Instructio exemplaris PHP nunc a PHP Group efficitur.[2] Nomen PHP olim acronymum fuit personal home page (Anglice; "pagina principalis personae");[1][3] nunc autem acronymum recursivum factum est verborum PHP: hypertext reprocessor ("PHP: praeparator hypertextuum").[4]
Programma PHP in moderatro interretiali legere solet interpres forma additri, daemonis aut exsecutabilis common gateway interface (CGI) instructus. In moderatro interretiale, programma PHP interpretatum exsecutumque responsum HTTP aut huius partem edit, quod ex omnimodis datis, ut sunt e.g. HTML generatum vel data pictoria binaria, exsistere potest. Sunt plura systemata formularia interretialia, systemata ad res tractandas, et compages interretiales, quibus responsum ordinatur aut adiuvetur. Extra quoque interrete ad rem graphicam solam tractandam,[5] teleplanum regendum,[6] et ad multas alias res programmandas PHP utilis est. Etiam facultas est programma PHP directe ex iusso exsequi.
Programmatis PHP interpres solitus est programmatura libera edita sub Licentia PHP, quae ab Ingenio Zendiano movetur. PHP passim portatur et in plerisque moderatris interretialibus, variis systematibus internis, et suggestibus explicari potest.[7]
Lingua PHP evoluta est sine norma aut designatione formali, instructione prima munere normae de facto functa, quam aliae instructiones sequi nisae sunt.
W3Techs rettulit die 23 Maii 2024 (sex mensibus post PHP 8.3 editam) ea 76.2 centesimis omnium situum interretialium uti, quorum lingua cognosci potuit. Horum 55.1 centesimae PHP 7 utebantur, quam obsoletam et insecuram esse constat.[8][9]
Historia
[recensere | fontem recensere]Historia prisca
[recensere | fontem recensere]Principium PHP anno 1993 factum est,[10] cum Rasmus Lerdorf lingua C aliquot programmata ad Interfaciem Portae Communis (CGI) scriberet,[11][12] quibus situm personalem suum sustineret. Haec deinde auxit ut cum formulis interretialibus ageret et cum repositoriis datorum communicaret, quam instructionem Personal Home Page / Forms Interpreter ("Pagina Principalis Personae / Interpres Formularum") vel PHP/FI appellavit.
Hoc est exemplum syntaxis veteris PHP:[13]
<!--include /text/header.html-->
<!--getenv HTTP_USER_AGENT-->
<!--if substr $exec_result Mozilla-->
Ohe, Netscape uteris!<p>
<!--endif-->
<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
Miseremur, ea mentio non exstat<p>
<!--endif exit-->
Bene advenisti <!--$user-->!<p>
Tibi <!--$index:0--> credita in computo manent.<p>
<!--include /text/footer.html-->
PHP/FI erat utilis ad paginas dynamicas et simplices struendas. Ut menda celerius indicarentur programmaque melius fieret, Lerdorf primum PHP/FI editam esse die 8 Iunii 1995 in collocutione Usenet comp.infosystems.www.authoring.cgi nuntiavit sub nomine Personal Home Page Tools (PHP Tools) version 1.0 "Instrumenta Paginis Principalibus Personarum (Instrumenta PHP), forma 1.0".[14][15] Quae editio facultates communes, ut variabilia modi Perl, formulas tractare, et HTML continere, habebat. Syntaxis PHP iam sic mutata erat ut similis esset Perl; erat quidem simplicior, minus potens, minusque constans.[16][17][18]
PHP primo tempore haud ad linguae programmandi munus destinabatur; potius per se crescebat. Lerdorf postea haec memoravit: "Eam sistere nescio [. . .] numquam fuit consilium linguam programmandi scribere [. . .] Linguam programmandi scribere minime scirem. [. . .] Modo gradum ratione proximum addere pergebam."[19] Sodalitas molientium formari coepit, et postquam per plures menses laboratum esset stadiumque beta tentatum esset, PHP/FI 2 rite edita est mense Novembri 1997.[20]
Eo, quod PHP non ab origine excogitata est sed per se crescit, nomina functionum et ordo illarum parametrorum sunt inconstantia.[21] Quaedam nomina functionum bibliothecis inferioribus, quas PHP "volvebat", adaequata sunt,[22] et in quibusdam formis veterrimis linguae, cum longitudo nominis interne ut functio hash usurparetur, nomina ita fingebantur ut numeri hash optime distribuerentur.[23]
PHP 3 et 4
[recensere | fontem recensere]Zeev Suraski et Andreas Gutmans anno 1997 partitorem retractarunt fundamentumque PHP 3 fecerunt, nomen linguae mutantes in acronymum recursivum PHP: Hypertext Preprocessor ("PHP: Praeparator Hypertextus").[18][24] Tunc palam tentari PHP 3 coepit et Iunio 1998 rite edita est. Postea Suraski et Gutmans funditus retractare nucleum PHP inceperunt, quo Ingenium Zendianum anno protulerunt.[25] Idem Zend Technologies in Ramatgan civitatis Israël condiderunt.[18]
Die 22 Maii 2000 edita est PHP 4, quam Ingenium Zend 1.0 moverat.[18] Haec ante mensem Augustum 2008 ad formam 4.4.9 progressa est.[26][27]
PHP 5
[recensere | fontem recensere]Die 1 Iulii 2004 edita est PHP 5, quam movebat novum Ingenium Zend II.[18] Haec virtutes novas ferebat, ut programmaturam ad res directam, auctum PHP Data Objects (PDO, "Res Data PHP") appellatum (quod levem et constantem interfaciem, qua repositoria datorum adeantur, definit), multaque alia, quibus opera emendarentur.[28] Post annum 2008, sola haec forma evolvebatur. Annexus stabilis serus, qui formis prioribus defuerat, PHP 5.3 additus est.[29][30]
Multa clara incepta fontibus apertis PHP 4 programmati novo a die 5 Februarii 2008 subsidium omiserunt, consociatione GoPHP5[31] ab evolutoribus PHP constituta et a PHP 4 ad PHP 5 transire suadente.[32][33]
Interpretes linguae PHP plerisque systematibus internis 32 et 64 bitorum praebebantur, sive ex programmate fontano structi erant sive binaria praestructa usurpata erant.[34] Formis PHP 5.3 et 5.4 in Microsoft Windows solae distributiones binariae praebitae sunt 32 bitorum machinae IA-32,[35][36] quae modum consociabilem postulabant dum Internet Information Services (IIS) in suggestu Windows 64 bitorum agitur. Forma PHP 5.5 machinae 64 bitorum x86-64 praeberi in Microsoft Windows potuerunt.[37]
Securitati formae PHP 5.6 subsidium omissum est die 31 Decembris 2018.[38]
PHP 6
[recensere | fontem recensere]Fama PHP vitiabatur quia Unicodicem sub nucleo linguistico ope sua non sustinebat.[39][40] Anno 2005 Andrea Zmievski duce propositum est ut facultas Unicodicis per totam PHP inferretur imponenda bibliotheca Elementorum Gentilium Unicodicis (ICU) lineisque textus interne per UTF-16 exprimendis.[41] Haec, cum et interna linguae et programma usorum magnopere mutatura essent, mens erat in linguae forma 6.0 edere cum aliis magnis virtutibus quae tunc evolvebantur.[42]
Tamen, paucis evolutoribus mutanda intellegentibus operibusque programmatis impeditis convertendo in UTF-16 aut ex UTF-16, quod in rebus interretialibus homines uti non solent, proposita tardabantur.[43] Itaque forma PHP 5.3 creata est anno 2009, multis virtutibus (Unicodice excepto) de PHP 6 retroportatis. Inter has gravia sunt spatia nominalia. Martio 2010, inceptum rite destitutum est, et forma PHP 5.4 parata est, qua pleraeque ceterae virtutes PHP 6 comprehenderentur, inter alia qualitates et renexio clausurarum.[44] Nova consilia de Unicodice accipiendo sperabantur sed ante annum 2014 non capta erant.
PHP 7
[recensere | fontem recensere]Per annos 2014 et 2015 effecta est nova PHP forma, et appellata PHP 7; qui numerus controversiae fuit inter molitores internos.[45] Cum tentamina de Unicodice sub nomine PHP 6 numquam edita essent, tamen nonnulli articulorum et librorum tituli hoc vocabulo usi erant, quod res turbaturum esse videbatur si novo edito idem nomen daretur.[46] Latis suffragiis, nomen PHP 7 est lectum.[47]
PHP 7 fundamentum est ramus linguae, quae primum PHP next generation seu phpng (PHP aevi proximi) dicebatur. Huic auctores fuerunt Demetrius Stogov, Xinchen Hui, et Nicetas Popov,[48] et consilium fuit reformare Ingenium Zendianum ut opera linguae levarentur, sed consociabilitatem linguae paene integram servare.[49] Iam ante diem 14 Iulii 2014, mensurae per WordPress (quae mensurae praecipuae propositi phpng semper fuerunt) opera paene centum centesimis meliora indicabant. Mutata in phpng sic facta sunt ut opera formarum futurarum meliora reddere facilius fieret, cum structurae datorum magis compactae et alia mutata aptiora videantur esse si migrare ad compilatrum in praesens.[50] Ob mutata non parva, Ingenio Zendiano refecto numerus "Ingenium Zend 3" inditus est, cum post Ingenium Zend 2, quo in PHP 5 usi erant, sequeretur.[51]
Propter magna mutata interna in phpng, necesse erat ut inderetur numerus formae maioris, non editi minoris numeri PHP 5, secundum consilium PHP de edendo.[52] Cum formis maioribus PHP rumpere consociabilitatem retrorsus programmatis liceret, PHP 7 occasionem faciebat aliorum quoque profectuum, qui consociabilitatem rumpebant, inter quos hi memorentur:
- Multis traditis modis erroris, seu fatalibus seu sanabilibus, exceptiones sunt suppositae, quae moderna consuetudine ad res diriguntur.[53]
- Syntaxis, qua relatio variabilis omittebatur, ita refecta est ut operatra
->
,[]
,()
,{}
, et::
cum quibuslibet litteris sinistro latere adhiberi possent.[54] - Subsidium modis traditis construendi, qualia in PHP 4 exstabant, omissum est.[55]
- Opera affirmationis
foreach
sic moderata sunt ut facilius providerentur.[56] - Constructrices earum paucarum classium in PHP, quae in nullum redibant post defectum, mutati sunt ut exceptionem iacerent, constantiae gratia.[57]
- Quaedam SAPI et aucta amota sunt de nucleo PHP core, praecipue auctum traditum
mysql
.[58] - Operibus operatri
list()
mutatis, subsidium seriebus omissum est.[59] - Subsidium limitibus traditis consuetudine ASP
<%
,%>
, et<script language="php"> ... </script>
omissum est.[60] - Incuriae, qua affirmatio switch plures voces
default
habere poterat, subventum est.[61] - Subsidium numeris sedecimalibus in quibusdam conversionibus ex seriebus in genera numeralia omissum est.[62]
- Operatra translationum dextrorsum et sinistrorsum mutata sunt ut similius in variis suggestibus operarentur.[63]
- Conversiones inter numeros cum puncto mobili et integros mutatae (e.g. infinitum ut in zerum converteretur) et constantius per varios suggestus instructae sunt.[63][64]
Lingua PHP 7 etiam novas virtutes habebat. Insignissima sunt ad functiones pronuntiatio generum reditus illata[65] - quod est complementum pronuntiationi generum parametrorum, quae iam extabat - et subsidium generibus scalaribus (integris, mobilibus, serialibus, et booleanis) in pronuntiatione generum parametrorum et reditus datum.[66]
PHP 8
[recensere | fontem recensere]PHP 8 edita est die 26 Novembris 2020, et nunc est secunda maxime usitata forma PHP. Quia est forma maior, mutata rumpentia de formis prioribus habet.[67][68] Inter nova et insignia sunt haec:
Compilatrum in praesens
[recensere | fontem recensere]Compilatro in praesens subsidium datur.[69] Quod opera valde levare potest in quibusdam usibus,[70][71] sed dixit evolutor (tunc pro PHP) Nicetas Popov plerisque situum interretialium minus levaturum opera quam levavit ascensus ex PHP 5 in PHP 7.[72] Opinio est compilatrum valde levaturum potius opera mathematica quam usus communes interretiales.[72] Hoc compilatrum facultatem facit aliquantum programmatis ex C in PHP movendi ob opera in quibusdam usibus levata.[73]
Vox match
[recensere | fontem recensere]In PHP 8 vox match
illata est.[74] Haec rationem vocis switch
similem habet et brevior est in nonnullis usibus.[75] Eo quod match
est vox, exitus eius variabili necti vel a functione reddi potest.[76]
Genera mutata et addita
[recensere | fontem recensere]PHP 8 genera unitiva, novum genus reditus static
et novum genus mixed
intulit.[67]
"Attributa", quae in aliis linguis programmandi "annotationes" saepe appellantur, addita sunt in PHP 8, quo metadata classibus addi possunt.[67]
throw
ex affirmatione in vocem mutata est,[77] quo exceptiones iaci possunt in locis, ubi prius non poterant.[67]
Syntaxis mutata aut addita
[recensere | fontem recensere]Quaedam in PHP 8 mutata sunt ut alia, brevior, aut magis constans syntaxis in rebus diversis sineretur. Exempli gratia, operatrum nullsafe est similis operatri null coalescing ??
, sed ad methodum vocandum usurpatur.[78] Hoc programma errorem non iaciet si getBirthday()
nullum reddat:
$human_readable_date = $user->getBirthday()?->diffForHumans();
In "saccharum syntacticum" addita est promotio proprietatum, id est ut proprietates classis sponte figerentur cum parametra in constructricem classis traderentur,[67] quominus necesse esset programma commune scribere.[79]
Alia mutata minora sunt subsidium datum ut ::class
obiectis adhibeatur tamquam get_class()
;[67] captiones non concipientes in molibus "tempta-cape"; syntaxis paulum immutata ut magis secum constaret; subsidium argumentis nominatis; subsidium commatibus finalibus in indicibus parametrorum, quod magis concors est cum subsidio commatibus finalibus in ordinibus et in aliis contextibus.[68]
Bibliotheca normalis mutata et aucta
[recensere | fontem recensere]- Chartae infirmae
WeakMap
additae sunt, quae relationes ad obiecta continent, tamen non obstant quominus tamquam quisquilias auferantur.[80] Quod opera levare potest, si data acervantur; hoc est aptissimum connexioni rerum et relationum.[67] - Interfacies diverse accommodatae sunt, ut subsidium obiectis
DateTime
ex interfaciebus creandis datum, et addita interfaciesStringable
ad genera summonenda utilis.[67] - Diversae functiones novae, e.g.
str_contains()
,str_starts_with()
, etstr_ends_with()
;[81]fdiv()
;get_debug_type()
; etget_resource_id()
[67] - Instructum est
token_get_all()
tamquam obiectum.[67]
Alia mutata
[recensere | fontem recensere]- Annotationes generum in ipso programmate fontano PHP, lingua C scripto, additae sunt, quibus functiones methodique interni "scientiam integram generum in reflectione" haberent.[82]
- Hereditas in methodis privatis[67]
- Methodi abstracti licent in emendatione characterorum.[67]
PHP 8.1
[recensere | fontem recensere]PHP 8.1 edita est die 25 Novembris, 2021.[83] Subsidium datum est ut genera enumerarentur, proprietates readonly
esse nuntiarentur (quod mutare proprietatem post initum impedit), et ordines clavibus serialibus. Novo genere never significari potest functionem non reddere.[84]
PHP 8.2
[recensere | fontem recensere]PHP 8.2 edita est die 8 Decembris, 2022.[85] Novae sunt classes readonly
(quarum exemplorum proprietates sunt tacite readonly), genera in forma normali disiunctiva, et auctum random
, generatrum numerorum pseudofortuitorum cum API ad res directa,[86] facultas parametrorum impatientum abolendorum, permultaeque aliae virtutes.
Tabula historica
[recensere | fontem recensere]Forma | Editionis dies | Subsidium usque ad[87] | Notae |
---|---|---|---|
1.0 | 8 Iunii 1995 | Nominata Personal Home Page Tools (PHP Tools). Usus primus nominis '"PHP".[18] | |
2.0 | 1 Novembris 1997 | Nominata PHP/FI 2.0. Haec prima est forma digna nomine PHP, lingua sui iuris, cuius virtutum multae adhuc manent. | |
3.0 | 6 Iunii 1998 | 20 Octobris 2000 | Labor evolvendi ab uno homine ad multos translatus. Basis refecerunt Zeev Suraski et Andreas Gutmans.[18] |
4.0 | 22 Maii 2000[88] | 23 Iunii 2001 | Additum melius systema ad ligulas tractandas, quod primum partiretur tantum, deinde exsequeretur, et appellatum Ingenium Zendianum.[89] |
4.1 | 10 Decembris 2001[90] | 12 Martii 2002 | Illata "superglobalia" ($_GET , $_POST , $_SESSION , etc.)[89]
|
4.2 | 22 Aprilis 2002[91] | 6 Septembris 2003 | Debilitatum register_globals nisi requisitum esset, ne data per rete recepta directe in spatium nominale globale insererentur. Sic rimae in securitate applicationum clausae.[89]
|
4.3 | 27 Decembris 2002[92] | 31 Martii 2005 | Illata interfacies per iussa in supplementum CGI.[89][93] |
4.4 | 11 Iulii 2004[94] | 5 Septembris 2005 | Subventum mendo, quod memoriam corrumpebat. Ad hoc necesse fuit consociabilitatem binariam cum auctis compilatis contra PHP 4.3.x.[95] |
5.0 | 13 Iulii 2004[96] | 7 Augusti 2008 | Ingenium Zendianum II cum nova ratione rerum.[97] |
5.1 | 24 Novembris 2005[98] | 24 Augusti 2006 | Levata opera variabilibus compilatriis illatis in Ingenium Zendianum reformatum.[97] Addita interfacies constans PHP Data Objects (PDO) qua repositoria datorum adirentur.[99] |
5.2 | 2 Novembris 2006[100] | 6 Ianuarii 2011 | Habilitatum auctum coli nisi deprecatum esset. Subsidium nativum JSON.[97] |
5.3 | 30 Iunii 2009[101] | 4 Augusti 2014 | Subsidium spatiis nominalibus; annexus stabilis serus; jump label (goto intra fines); functiones anonymae; clausurae,; PHP archives (phar); ablatio quisquiliarum relationibus circularibus; subsidium Windows; sqlite3; mysqlnd in locum libmysql suppositum ut esset bibliotheca substructa auctis, quae MySQL utuntur; fileinfo in locum mime_magic suppositum ut plus subsidii MIME haberet; auctum ad gentes; et omissum auctum ereg. |
5.4 | 1 Martii 2012[102] | 3 Septembris 2015 | Subsidium characteribus, subsidium syntaxi ordinum brevium. Amota: register_globals , safe_mode , allow_call_time_pass_reference , session_register() , session_unregister() et session_is_registered() . Moderatrum interretiale inaedificatum.[103] Aliquot priores virtutes emendatae, opera levata, minus memoriae requirebatur.
|
5.5 | 20 Iunii 2013[104] | 10 Iulii 2016 | Subsidium generatris, moles finally ad exceptiones tractandas, OpCache (in Zend Optimizer+ fundatum) colligatum cum distributione publica.[105]
|
5.6 | 28 Augusti 2014[106] | 10 Iulii 2018 | Voces scalares constantes, functiones variadicae, expeditio argumentorum, novum operatrum exponendi, aucta affirmationis use ad functiones et constantia, novum emendatrum phpdbg forma moduli SAPI, alia minora emendata.[107]
|
6.x | Non edita | - | Forma destituta linguae PHP qua subsidium Unicodici addendum erat.[108][109] |
7.0 | 3 Decembris 2015[110] | 10 Ianuarii 2019 | Ingenium Zendianum 3 (levata opera[50] et subsidium integris 64-bitorum in Windows[111]), syntaxis variabilium uniformis,[54] compilatrum arboribus syntacticis abstractis operans,[112] additum Closure::call() ,[113] translatio bitorum constans per suggestus,[114] operatrum ?? (null coalesce),[115] syntaxis fugarum in punctis Unicodicis,[116] pronuntiatio generum reditus, [65] pronuntiatio generum scalarium (integrorum, mobilium, serialium et booleanorum),[66] operatrum <=> (spaceship) comparationis ternariae,[117] delegatio generatrorum,[118] classes anonymae,[119] API generatri numerorum fortuitorum cryptographice securi simplicior et constantius praesens,[120] multis remanentibus "erroribus" internis linguae exceptiones suppositae,[53] syntaxis abbreviata qua plura nomina ex spatio nominali simul importarentur.[121]
|
7.1 | 1 Decembris 2016 | 1 Decembris 2019 | Genus iterable ,[122] genera nullabilia,[123] genus reditus void ,[124] moderamina visibilitatis constantia per classes,[125] syntaxis ad indices breves,[126] multi-catch.[127]
|
7.2 | 30 Novembris 2017 | 30 Novembris 2020 | Pronuntiatio parametrorum rerum et generum reditus,[128] auctum libsodium,[129] praepositio abstracta methodorum,[130] prolatio generum parametrorum[131] |
7.3 | 6 Decembris 2018[132] | 6 Decembris 2021 | Syntaxis mutabilis ad Heredoc et Nowdoc,[133] subsidium nexui relationum et destructioni ordinum per list() ,[134] subsidium PCRE2,[135] functio hrtime [136]
|
7.4 | 28 Novembris 2019[137] | 28 Novembris 2022 | Characteres generici 2.0,[138] praeoneratio,[139] operatrum nexuum null-coalescing,[140] emendatum openssl_random_pseudo_bytes ,[141] relationes infirmae,[80] interfacies ad functiones alienas,[142] auctum hash semper praesto,[143] regestrum hash tesserarum,[144] dispertitio serierum multis octetis,[145] repercussus relationum,[146] resolutum ext/wddx,[147] nova ratio rerum ad voluntatem serie numerandarum.[148]
|
8.0 | 26 Novembris 2020[149] | 26 Novembris 2023 | Compilatrum in praesens,[69] ordines ab indice negativo ordinati,[150] semantica strictior saniorque (validatio methodorum characterum abstractorum)[151] sanior serierum cum numeris comparatio,[152] saniores series numerales,[153] TypeError in vitiosis operatris arithmeticis seu per bitos,[154] in novas classes transpositi quidem errores ingenii,[155] errores de generibus constantes in functionibus internis,[156] error fatalis si subscriptiones methodorum sunt discordes[157]), conversio mobilium in series locis soluta,[158] mutata minora in syntaxi,[159] attributa,[160][161][162][163] argumenta nominata,[164] vox match,[165] promotio proprietatum in constructricibus,[166] genera coniunctiva,[167] genus mixed ,[168] genus static return,[169] operatrum nullsafe,[78] captiones non concipientes,[170] vox throw ,[77] auctum JSON semper praesto.[171]
|
8.1 | 25 Novembris 2021[172] | 31 Decembris 2025 | Scriptio litteralis explicata integrorum octalium,[173] enumerations,[174] proprietates immutabiles,[175] syntaxis vocabilis primae classis,[176] new in initiatris,[177] genera intersectiva pura,[178] genus reditus never ,[179] coercitiones classium final ,[180] fibrae.[181]
|
8.2 | 8 Decembris 2022[182] | 31 Decembris 2026 | Classes immutabiles,[183] genera null , false , true sui iuris facti,[184][185] conversio notarum litterarum locis soluta,[186] genera formalia normalia disiunctiva,[187] constantia in characteribus.[188]
|
8.3 | 23 Novembris 2023[189] | 31 Decembris 2027 | Constantia classium generica,[190] allatio dynamica constantium classium,[191] attributum #[\Override] ,[192] duplicatio profunda proprietatum immutabilium,[193] nova functio json_validate ,[194] addita rationi fortuitorum,[195] detersor ad iussa subsidium fasciculis multiplicibus praebet.
|
8.4 | 21 Novembris 2024[196] | 31 Decembris 2028 |
Adhibuit Sodalitas Molientium PHP a die 28 Iunii 2011 regulam temporibus novarum formarum linguae PHP edendarum.[52] In hoc systemate forma una, aut plures, omni mense edenda est; omni anno uni formae minori novas virtutes inducere licet. Omni formae subsidium per duos annos de mendis et de securitate, per unum aut plures de securitate tantum; ergo summa processus omnis formae minoris tres annos consumit, in quibus nulla virtus nova nisi minima et se ipsa contenta induci debet.
Tutelator
[recensere | fontem recensere]Animal tutelare rerum linguae PHP est elePHPant (per iocum ab elephant "elephas"), elephas caeruleus in latere signum PHP ferens. Illum excogitavit Vincens Pontier[197] anno 1998.[198] "Litterae (scilicet PHP) formam elephanti, si a latere aspicerentur, efficiebant."[199] Color quandoque alius est in bestiolis mollibus ad imaginem elePHPant factis.[200]
Multae et variae formae huius animalis per annos factae sunt. Eas solas sodalitas ut sinceras accipit, quae ad descriptionem originalem Vincentis Pontier factae sint.[201] Hae sunt collectiles, et quaedam sunt rarissimae.[202]
Syntaxis
[recensere | fontem recensere]Hoc programma ad mundi salutationem lingua PHP scriptum et documento HTML contentum est:
<!DOCTYPE html>
<html>
<head>
<title>Salutatio mundi in PHP</title>
</head>
<body>
<p><?= 'Salve, Munde!' ?></p>
</body>
</html>
Tamen, quia nihil necesse est ut programma PHP in HTML contineatur, simplicior salutatio mundi sic scribi potest, omissa ligula terminativa ?>
ut mos est in fasciculis quorum programma est mera PHP.[203]
<?php echo 'Salve, Munde!';
Interpres PHP ea sola exsequitur, quae intra limitationes sint. Extra limitationes seponuntur quae non lingua PHP scripta sint, ut programma JavaScript vel annotatio HTML,[204] ne ea PHP tractet. Etiam hic textus est subiectus structuris rectricibus programmate PHP descriptis. Delimitationes usitatissimae sunt <?php
ad partes in PHP inducendas et ?>
ad terminandas. Brevior quoque exstat scriptio <?
; obstat quidem quominus fasciculi scriptorum portentur, cum subsidium debilitari in constitutione singulari linguae possit, ideoque dissuadetur.[205][206] Contra autem ligulam echo breviorem <?=
nulla sententia est data.[207] Haec syntaxis usque ad PHP 5.4.0 valebat solum si constitutio short_open_tag
habilitata erat, sed a forma PHP 5.4.0 praesto semper est.[208][209][205] Igitur simplicissimum programma ad mundi salutationem lingua PHP scribitur:
<?='Salve, Munde!';
Prima vero forma limitationis, scilicet <?php
et ?>
, si in fasciculo XHTML aut aliorum generum XML adhibetur, mandatum recte scriptum in XML format.[210] Ergo ipsum programma commixtum e PHP aliisque annotationibus in fasciculo, quem moderatrum possidet, est XML recte scriptum.
Variabilibus praefigitur sigillum $, nec praescribendus est genus. PHP 5 induxit pronuntiationem generum, qua functio parametra sua certae classis obiecta, ordines, interfacies, aut functiones revocabiles esse cogeret. Ante PHP 7, quidem genera scalaria, e.g. integros vel series, pronuntiare non licebat.[66]
In exemplo infra scripto demonstratur quomodo variabilia in PHP pronuntientur ineantque.
<?php
$nomen = 'Aemilius'; // variabile genere series pronuntiatur initque
$anni = 18; // variabile genere integer pronuntiatur initque
$altitudo = 5.3; // variabile genere duplex pronuntiatur initque
echo $nomen . ' est ' . $altitudo . "m altus\n"; // variabilia cum serie conseruntur
echo "$nomen $anni annos natus est."; // series variabilibus interpolatur
?>
Notam litterarum non sentiunt nomina functionum et classium, sentiunt tamen nomina variabilium. Series heredoc aut virgulis duplis inclusae ("") valore variabilis interpolari possunt.[211] Versus novi in modum litterarum vacuarum tractantur, sicut in aliae linguae formae liberae. Affirmationes virgula punctata separantur.[212] In syntaxi sunt tres formae animadversionis: /* */
animadversiones includunt, quae aut molem efficiunt aut versui iniciuntur; //
aut #
animadversionibus unum versum explentibus adhibentur.[213] Affirmatio echo
est una ex pluribus facultatibus quibus lingua PHP textum reddere quit.
Verbis cardinalibus formaque syntaxis PHP est lingua similis C. Condiciones if
laquei reditusque functionum for
et while
sunt similes ac in C, C++, C#, Java et Perl.
Genera datorum
[recensere | fontem recensere]Linguae PHP genera infirma sunt. Integri signati in aliis suggestibus aliis tractibus tenentur, forma itidem ut in genere longo linguae C. In certis rebus integri non signati signum accipiunt, quod est multis aliis linguis computatralibus alienum.[214] Variabilia integra in nectendo notis decimalibus (seu positiva seu negativa), octalibus, sedecimalibus, aut binariis.
Etiam numeris puncto mobili scriptis tractus secundum suggestum variat. Hi notantur aut recte cum puncto mobili aut duobus modis notationis scientificae.[215] PHP genus Booleanum habet proprium et simile generibus Booleanis, quae sunt propria Java et C++. Regula in genere Booleano convertendo est zerum falsum, omnia alia verum significare, sicut in Perl et C++.[215]
Genus datorum, quod nullum dicitur, variabile notat, cui nullus valor est; nullum valorem esse significant litterae NULL
.[215]
Variabilia, quae genere "opes" appellantur, ad opes externas referunt. Hae solent a functionibus alicuius aucti creari, et solum ab eiusdem aucti functionibus tractari posse; exempla opum sunt fasciculi, imagines, et repositoria datorum.[215]
Ordines elementa omnis generis in lingua PHP tractabilis continere possunt, e.g. opes, obiecta, necnon alios ordines. Consecutio elementorum in indicibus valorum et in hash, quae et claves et valores continent; hi etiam commisceri possunt.[215] Series quoque subsidium habent, et cum virgulis simplicibus aut duplis, nowdoc aut heredoc adhiberi possunt.[216]
Bibliotheca PHP Normalis quaestiones communes solvere nititur classesque et interfacies ad data faciles praestat.[217]
Functiones
[recensere | fontem recensere]Functiones multiplices nucleo linguae PHP definiuntur, multaeque in variis auctis assunt. Hae omnes in interreti bene conscriptae sunt.PHP documentation[218] Bibliotheca autem inaedificata valde diversas rationes functionum nominandarum aliaque inconstantia connexa habet, ut sectio de historia supra dicit.
Evolutori ipsi functiones novas fingere licet:
function annosNatus(int $natusAnno): string
{
// Annos vitae computa anno nativitatis de anno, qui nunc est, subtrahendo.
$annosNatus = date('Y') - $natusAnno;
// Redde annos vitae in serie descriptiva.
return $annosNatus . ($annosNatus == 1 ? ' annum' : ' annos');
}
echo 'Nunc ' . annosNatus(1995) . ' natus sum.';
Anno 2024 programma, quod supra in exemplum adhibetur, reddit sententiam "Nunc 29 annos natus sum."
Ad functionem in PHP referre potest series eius nomen continens, vice indicatoris functionis. Ita functiones vulgares linguae munere revocabilium fungi aut intra tabulam functionum poni.[219] Functio ab usore definiri semper licet sine ullo prototypo.[218][219] Etiam intra molem programmatis definiri possunt, ut in operando cernatur an definienda sit. Est quoque quaedam functio function_exists
, quae cernit an ulla functio cum nomine quolibet definita sit. Vocationem functiones per parentheses fieri necesse est, parentheses, exceptis functionibus constructricibus, quae nullum argumentum habeant et operatro PHP proprio new
vocentur; ad has optio est an parentheses scribantur.
A PHP 4.0.1 create_function()
, leve tegimen circum eval()
, functiones vulgares PHP in exsecutione programmatis creare sinebat, sed destitutum est in PHP 7.2 et ablatum in PHP 8.0[220] ut inferretur syntaxis ad functiones sine nomine aut "clausuras"[221] quae variabilia concipere ex spatio circumdato possunt; haec additae sunt in PHP 5.3. Scriptio brevis sagittarum addita est in PHP 7.4:[222]
function getAdder($x) {
return fn($y) => $x + $y;
}
$adder = getAdder(8);
echo $adder(2); // "10" scribit
In exemplo supra scripto, functio getAdder()
argumento tradito $x
utitur ut clausuram faciat, quae alterum argumentum $y
accipit, redditque vocatori clausuram factam. Talis functio cum obiectum primae classis sit, in variabili deponi, tradi ut alterius functionis parametrum sit, etc. potest.[223]
In PHP subsidium datur ut genera in parametris functionum pronuntientur, quod in linguis generum mobilium fieri non solet. Hoc subsidium in classibus et interfaciebus a PHP 5.0, in ordinibus a PHP 5.1, in "vocabilibus" a PHP 5.4, et in generibus scalaribus (numeris integris, numeris mobilibus, seriebus et booleanis) a PHP 7.0 datum est.[66] Datum quoque est in PHP 7.0 ut genera reditus functionis pronuntientur; quod fit nomine generis post indicem parametrorum posito et ab eo per bipunctum discreto.[65] Exempli gratia, functio getAdder
prioris exempli generibus sic annotari in PHP 7 potest:
function getAdder(int $x): Closure
{
return fn(int $y): int => $x + $y;
}
$adder = getAdder(8);
echo $adder(2); // "10" scribit
echo $adder(null); // Exceptionem iacit quia genus mendosum traditum est
$adder = getAdder([]); // Hoc quoque exceptionem iaceret
Pronuntiatio generum scalarium, nisi aliud postulatur, secundum regulas generum debilium fit. Si igitur genus parametri sit int
, PHP non solum integros sed etiam series convertibiles, numeros mobiles, aut Booleana ad functionem tradere sinet et convertet.[66] Tamen PHP 7 alterum modum habet, qui "genera stricta" appellatur, et si usurpatus est, tales conversiones in vocatione functionum et reditibus intra fasciculum vetat.[66]
Obiecta
[recensere | fontem recensere]Programmaturae ad res directae rudimenta in PHP 3 addita et PHP 4 exculta sunt;[18] quod abstractiorem fieri linguam sivit evolutoribusque, qui nova creare temptarent, favit. In PHP 5 modus obiectorum tractandorum funditus renovatus est ut numerus virtutum augeretur et programma melius operaretur.[224] Nam in formis prioribus linguae PHP, obiecta ita tractabantur ut genera valorum.[224] Incommoda vero fuit necessitudo ut variabilia "referentia" linguae PHP crebro adhiberentur, si non transcribendum sed immutandum erat obiectum ad programma traditum. In methodo novo ad obiectum ansa, non valor, refert.
In PHP 5 illata sunt variabilia allegata et methodi privata et protecta, classesque abstractae, classes finales, methodi abstracti, et methodi finales. Illata quoque est norma constructricum et destructorum pronuntiandorum, similis normarum quas aliae linguae ad res directae, e.g. C++, habent, et norma exceptionum tractandarum. Illatae etiam interfacies et situm est, ut plures instruerentur. Per quasdam interfacies speciales obiecta cum systemate opera fungente agunt. Obiecta in quibus ArrayAccess instructum sit in syntaxi ordinum, et obiecta in quibus Iterator aut IteratorAggregate instructum sit in constructo linguistico foreach
poni possunt. Ingenium quidem tabula virtuali caret; igitur variabilia stativa nomine, non relatione, in compilando annectuntur.[225]
Si evolutor obiectum verbo reservato clone
transcripserit, Ingenium Zendianum inspiciet an definitus sit methodus __clone()
. Si non definitus est, ingenium methodum __clone()
praestitutum, qui proprietates obiecti transcribat, vocabit; si autem definitus est __clone()
, hic proprietates obiecto creando imponere debebit. Commoditatis gratia, ingenium functionem praebebit, quae proprietates obiecti traditi transferat, ut evolutori praestet effigiem proprietatum obiecti traditi, cui eas solas rescindat quae mutanda sint.[226]
Visibilitatem proprietatum et methodorum definiunt verba cardinalia public
("publicum"), private
("privatum"), et protected
("protectum"). Si nihil aliud nisi var scriptum est, omnia sunt publica, cum var
sit synonymum public
. Ad omnia quae publica definiantur, accessus ubique datur. Ad protecta accessus licet solum in classibus hereditariis (et in classe, quae rem definit). Privata inspicere nihil potest nisi ex classe, quae rem definit.[227] Obiecta eiusdem generis alterum ad alterius allegata accedere possunt, etsi non sunt idem exemplum.
Exemplum
[recensere | fontem recensere]Hoc est exemplum rude programmaturae ad res directae in PHP 8:
<?php
abstract class User
{
protected string $nomen;
public function __construct(string $nomen)
{
// Fac primam litteram maiusculam ceterasque minusculas
$this->nomen = ucfirst(strtolower($nomen));
}
public function saluta(): string
{
return "Salve! Nomen meum est " . $this->nomen;
}
abstract public function negotium(): string;
}
class Discipulus extends User
{
public function __construct(string $nomen, private string $cursus)
{
parent::__construct($nomen);
}
public function negotium(): string
{
return $this->cursus. "disco ";
}
}
class Magister extends User
{
public function __construct(string $nomen, private array $cursumDoceo)
{
parent::__construct($nomen);
}
public function negotium(): string
{
return implode(", ", $this->cursumDoceo) . "doceo ";
}
}
$discipuli = [
new Discipulus("Aemilia", "artem computatralem"),
new Discipulus("Brutus", "artem computatralem"),
new Discipulus("Claudius", "negotia"),
];
$magistri = [
new Magister("Domitius", ["artem computatralem", "securitatem informaticam"]),
new Magister("Epistropha", ["artem computatralem", "programmaturam graphicam in tribus dimensionibus"]),
new Magister("Festa", ["mercaturam interretialem", "negotia", "commercium electronicum"]),
];
foreach ([$discipuli, $magistri] as $users) {
echo $users[0]::class . "s:\n";
array_walk($users, function (User $user) {
echo "{$user->saluta()}, {$user->negotium()}\n";
});
}
Id programma haec reddit:
Discipuli: Salve! Nomen meum est Aemilia, artem computatralem disco Salve! Nomen meum est Brutus, artem computatralem disco Salve! Nomen meum est Claudius, negotia disco Magistri: Salve! Nomen meum est Domitius, artem computatralem, securitatem informaticam doceo Salve! Nomen meum est Epistropha, artem computatralem, programmaturam graphicam in tribus dimensionibus doceo Salve! Nomen meum est Festa, mercaturam interretialem, negotia, commercium electronicum doceo
Mandata
[recensere | fontem recensere]Solum et usitatissimum linguae PHP mandatum integrum est primum mandatum, nec ullum nomen nisi simpliciter PHP habet. Tamen, cum ab Ingenio Zendiano moveatur, quandoque vulgariter PHP Zendiana appellatur. Ingenium hoc programma fontanum in lingua PHP compilat ratione interna quam exsequi possit, interpretis opera fungens.[228][229] Cum PHP nullam designationem formalem habeat, PHP Zendiana est "mandatum referendum," cuius semantica totius linguae semanticam definit. Quam cum multiplicem et subtilissimam illud Ingenium reddat, difficile est, ut aemula mandata penitus consociabiles fiant.
Inhabile est, quod PHP rogatibus singulis scripta exsequitur et interpretis officio fungitur, itaque plures res excogitatae sunt quae iuvent. Ut programma fontanum celerius exsequatur, nec toties compilare debeat, quoties quis ad paginam interretialem accesserit, scripta PHP in lingua interna ingenii explicari possunt acervo numerorum operationum, ubi acervatur forma compilata scripti PHP (quae ex numeris operationum constat) in memoria communi ne prodige ingenium partiri et compilare debeat, quoties scriptum operetur. Acervus numerorum operationum, Zend Opcache, in PHP a forma 5.5 inaedificatus est.[230] Alius acervus numerorum operationum, qui passim usurpatur, est Alternative PHP Cache (APC), qui sub forma aucti PECL praebetur.[231]
Gratia
[recensere | fontem recensere]PHP est quarta post Java, C, et Visual Basic. Lingua gratissima apud servos interretiales Apaches est.
Nexus interni
Notae
[recensere | fontem recensere]- ↑ 1.0 1.1 History of PHP. . php.net.
- ↑ "History of PHP and related projects". The PHP Group.
- ↑ Olsson, Mikael (2013-09-04). PHP Quick Scripting Reference. Apress. ISBN 978-1-4302-6284-8.
- ↑ PHP Manual: Preface, www.php.net.]
- ↑ "Introduction: What can PHP do?". PHP Manual.
- ↑ helicopter: Port of node-ar-drone which allows user to control a Parrot AR Drone over PHP: jolicode/php-ar-drone, JoliCode, 2019-01-11.
- ↑ Lapsus in citando: Invalid
<ref>
tag; no text was provided for refs namedO'Reilly-2001
- ↑ PHP: Unsupported Branches. . www.php.net.
- ↑ Lapsus in citando: Invalid
<ref>
tag; no text was provided for refs namedW3Techs – World Wide Web Technology Surveys.
- ↑ Krill, Paul (2013-11-18). Believe the hype: PHP founder backs Facebook's HipHop technology. . InfoWorld
- ↑ Lerdorf, Rasmus (2012-07-20). "I wonder why people keep writing that PHP was ever written in Perl. It never was. #php". Twitter.
- ↑ Lerdorf, Rasmus (2007-04-26). "PHP on Hormones" (mp3). The Conversations Network.
- ↑ Lerdorf, Rasmus (2007). "Slide 3". slides for 'PHP on Hormones' talk. The PHP Group.
- ↑ Lerdorf, Rasmus (8 Iunii 1995). "Announce: Personal Home Page Tools (PHP Tools)"
- ↑ Formula:Cite newsgroup.
- ↑ History of PHP. . php.net
- ↑ Olsson, Mikael (2013-09-04). PHP Quick Scripting Reference. Apress. ISBN 978-1-4302-6284-8
- ↑ 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 "History of PHP and related projects". The PHP Group
- ↑ "Rasmus Lerdorf, Senior Technical Yahoo: PHP, Behind the Mic". 2003-11-19
- ↑ Alshetwi, A.B.; Rahmat, R. A. A. O.; Borhan, M. N.; Ismael, S.; Ali, A.; Irtema, H. I. M.; Alfakhria, A. Y. (2018). "Web-Based Expert System for Optimizing of Traffic Road in Developing Countries".
- ↑ "Problems with PHP"
- ↑ php.internals: Re: Function name consistency. . news.php.net. 2013-12-28.
- ↑ Formula:Cite newsgroup.
- ↑ PHP Acronym Meaning Vote. . PHP.net
- ↑ "Zend Engine version 2.0: Feature Overview and Design". Zend Technologies Ltd..
- ↑ "php.net 2007 news archive". The PHP Group. 2007-07-13.
- ↑ Kerner, Sean Michael (2008-02-01). "PHP 4 is Dead—Long Live PHP 5". InternetNews/
- ↑ Trachtenberg, Adam (2004-07-15). "Why PHP 5 Rocks!". O'Reilly.
- ↑ "Late Static Binding in PHP". Digital Sandwich. 2006-02-23
- ↑ "Static Keyword". The PHP Group.
- ↑ "GoPHP5".
- ↑ "PHP projects join forces to Go PHP 5". GoPHP5 Press Release.
- ↑ "GoPHP5". GoPHP5.
- ↑ PHP Installation and Configuration. . php.net
- ↑ PHP for Windows: Binaries and sources releases (5.3). . php.net.
- ↑ PHP for Windows: Binaries and sources releases (5.4). . php.net
- ↑ PHP for Windows: Binaries and sources releases (5.5). . php.net.
- ↑ "PHP: Supported Versions"
- ↑ Types: Strings (PHP Manual). . PHP.net.
- ↑ Details of the String Type (PHP Manual). . PHP.net.
- ↑ Formula:Cite mailing list.
- ↑ "PHP 5.5 or 6.0".
- ↑ Andrei Zmievski (2011-04-22). "The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6".
- ↑ Formula:Cite mailing list.
- ↑ "The Neverending Muppet Debate of PHP 6 v PHP 7".
- ↑ RFC: Name of Next Release of PHP. . php.net. 2014-07-07.
- ↑ "Re: [PHP-DEV [VOTE] [RFC] Name of Next Release of PHP (again)"]. 2014-07-30.
- ↑ phpng: Refactored PHP Engine with Big Performance Improvement. . news.php.net.
- ↑ PHP: rfc:phpng. . php.net.
- ↑ 50.0 50.1 PHP: phpng. . php.net.
- ↑ Merge branch 'ZendEngine3'. . github.com. 2014-12-05.
- ↑ 52.0 52.1 "PHP: Release Process". 2011-06-20
- ↑ 53.0 53.1 PHP RFC: Exceptions in the engine (for PHP 7). . php.net
- ↑ 54.0 54.1 PHP RFC: Uniform Variable Syntax. . php.net. 2014-05-31
- ↑ Online PHP editor | output for udRhX. . 3v4l.org
- ↑ PHP RFC: Fix "foreach" behavior. . php.net
- ↑ PHP RFC: Constructor behaviour of internal classes. . php.net
- ↑ PHP RFC: Removal of dead or not yet PHP7 ported SAPIs and extensions. . php.net
- ↑ PHP RFC: Fix list() behavior inconsistency. . php.net
- ↑ PHP RFC: Remove alternative PHP tags. . php.net
- ↑ PHP RFC: Make defining multiple default cases in a switch a syntax error. . php.net
- ↑ PHP RFC: Remove hex support in numeric strings. . php.net
- ↑ 63.0 63.1 PHP RFC: Integer Semantics. . php.net
- ↑ PHP RFC: ZPP Failure on Overflow. . php.net
- ↑ 65.0 65.1 65.2 RFC: Return Types. . php.net. 2015-01-27
- ↑ 66.0 66.1 66.2 66.3 66.4 66.5 RFC: Scalar Type Declarations. . php.net. 2015-03-16
- ↑ 67.00 67.01 67.02 67.03 67.04 67.05 67.06 67.07 67.08 67.09 67.10 67.11 Brent. What's new in PHP 8. . Stitcher
- ↑ 68.0 68.1 PHP 8 Released. . PHP
- ↑ 69.0 69.1 PHP: rfc:jit. . wiki.php.net
- ↑ Brent. PHP 8: JIT performance in real-life web applications. . Stitcher.io
- ↑ Rethams, Derick. "PHP 8: A Quick Look at JIT"
- ↑ 72.0 72.1 Popov, Nikita (13 Iulii 2020). ""What's new in PHP 8.0?" Nikita Popov". PHP fwdaysFormula:Cbignore
- ↑ Daniele, Carlo (25 Maii 2020). What's New in PHP 8 (Features, Improvements, and the JIT Compiler). . Kinsta
- ↑ Redmond, Paul (15 July 2020). Match Expression is Coming to PHP 8. . Laravel News
- ↑ PHP 8.0: Match Expressions. . PHP Watch
- ↑ Barnes, Eric (27 Novembris 2020). PHP 8 is now Released!. . Laravel News
- ↑ 77.0 77.1 PHP RFC: throw expression. . wiki.php.net
- ↑ 78.0 78.1 PHP RFC: Nullsafe operator. . wiki.php.net
- ↑ Roose, Brent. "PHP 8: Constructor property promotion"
- ↑ 80.0 80.1 PHP: rfc:weakrefs. . wiki.php.net
- ↑ Merchant, Amit (13 Iunii 2020). These new string functions are coming in PHP 8. . Amit Merchant
- ↑ Popov, Nikita. Call for participation: Annotating internal function argument and return types. . Externals
- ↑ PHP 8 ChangeLog. . PHP.net
- ↑ PHP: PHP 8.1.0 Release Announcement. . PHP.net
- ↑ PHP 8 ChangeLog. . PHP.net
- ↑ PHP: PHP 8.2.0 Release Announcement. . PHP.net
- ↑ Unsupported Branches. . php.net
- ↑ "PHP 4.0.0 Released"
- ↑ 89.0 89.1 89.2 89.3 "PHP: PHP 4 ChangeLog". The PHP Group. 2008-01-03
- ↑ "PHP 4.1.0 Release Announcement"
- ↑ "PHP 4.2.0 Release Announcement"
- ↑ "PHP 4.3.0 Release Announcement"
- ↑ "Using PHP from the command line". PHP Manual. The PHP Group
- ↑ "PHP 4.4.0 Release Announcement"
- ↑ "PHP 4.4.0 Release Announcement". PHP Manual. The PHP Group
- ↑ "PHP 5.0.0 Released!"
- ↑ 97.0 97.1 97.2 "PHP: PHP 5 ChangeLog". The PHP Group. 2007-11-08
- ↑ "PHP 5.1.0 Release Announcement"
- ↑ "PHP manual: PDO". The PHP Group. 2011-11-15
- ↑ "PHP 5.2.0 Release Announcement"
- ↑ "PHP 5.3.0 Release Announcement"
- ↑ "PHP 5.4.0 Release Announcement"
- ↑ "Built-in web server"
- ↑ "PHP 5.5.0 Release Announcement"
- ↑ PHP 5.5.0 changes. . php.net
- ↑ "PHP 5.6.0 Release Announcement"
- ↑ Migrating from PHP 5.5.x to PHP 5.6.x. . php.net
- ↑ "Resetting PHP 6"
- ↑ "PHP 7 moves full speed ahead". 2014-10-31
- ↑ News Archive – 2018: PHP 7.2.9 Released. . php.net. 2018-08-16
- ↑ PHP: rfc:size_t_and_int64_next. . php.net
- ↑ PHP: rfc:abstract_syntax_tree. . php.net
- ↑ PHP: rfc:closure_apply. . php.net
- ↑ PHP: rfc:integer_semantics. . php.net
- ↑ PHP: rfc:isset_ternary. . php.net
- ↑ "RFC: Unicode Codepoint Escape Syntax". 2014-11-24
- ↑ Combined Comparison (Spaceship) Operator. . php.net
- ↑ PHP RFC: Generator Delegation. . php.net
- ↑ PHP RFC: Anonymous Classes. . php.net
- ↑ PHP RFC: Easy User-land CSPRNG. . php.net
- ↑ PHP RFC: Group Use Declarations. . php.net
- ↑ PHP: rfc:iterable. . php.net. 2016-06-10
- ↑ PHP: rfc:nullable_types. . php.net. 2014-04-10
- ↑ PHP: rfc:void_return_type. . php.net. 2015-11-09
- ↑ PHP: rfc:class_constant_visibility. . php.net. 2015-10-27
- ↑ PHP: rfc:short_list_syntax. . php.net. 2016-04-07
- ↑ PHP: rfc:multiple-catch. . php.net. 2016-03-06
- ↑ PHP: rfc:object-typehint. . wiki.php.net
- ↑ PHP: rfc:libsodium. . wiki.php.net
- ↑ PHP: rfc:allow-abstract-function-override. . wiki.php.net
- ↑ PHP: rfc:parameter-no-type-variance. . wiki.php.net
- ↑ PHP: todo:php73. . wiki.php.net
- ↑ PHP: rfc:flexible_heredoc_nowdoc_syntaxes. . wiki.php.net
- ↑ PHP: rfc:list_reference_assignment. . wiki.php.net
- ↑ PHP: rfc:pcre2-migration. . wiki.php.net
- ↑ PHP: hrtime Manual. . php.net
- ↑ PHP 7.4.0 Released!. . php.net
- ↑ PHP: rfc:typed_properties_v2. . wiki.php.net
- ↑ PHP: rfc:preload. . wiki.php.net
- ↑ PHP: rfc:null_coalesce_equal_operator. . wiki.php.net
- ↑ PHP: rfc:improve-openssl-random-pseudo-bytes. . wiki.php.net
- ↑ PHP: rfc:ffi. . wiki.php.net
- ↑ PHP: rfc:permanent_hash_ext. . wiki.php.net
- ↑ PHP: rfc:password_registry. . wiki.php.net
- ↑ PHP: rfc:mb_str_split. . wiki.php.net
- ↑ PHP: rfc:reference_reflection. . wiki.php.net
- ↑ PHP: rfc:deprecate-and-remove-ext-wddx. . wiki.php.net
- ↑ PHP: rfc:custom_object_serialization. . wiki.php.net
- ↑ PHP: Supported Versions. . php.net
- ↑ PHP: rfc:negative_array_index. . wiki.php.net
- ↑ PHP RFC: Validation for abstract trait methods. . wiki.php.net
- ↑ PHP RFC: Saner string to number comparisons. . wiki.php.net
- ↑ PHP RFC: Saner numeric strings. . wiki.php.net
- ↑ PHP RFC: Stricter type checks for arithmetic/bitwise operators. . wiki.php.net
- ↑ PHP RFC: Reclassifying engine warnings. . wiki.php.net
- ↑ PHP: rfc:consistent_type_errors. . wiki.php.net
- ↑ PHP: rfc:lsp_errors. . wiki.php.net
- ↑ PHP RFC: Locale-independent float to string cast. . wiki.php.net
- ↑ PHP RFC: Variable Syntax Tweaks. . wiki.php.net
- ↑ PHP RFC: Attributes V2. . wiki.php.net
- ↑ PHP RFC: Attribute Amendments. . wiki.php.net
- ↑ PHP RFC: Shorter Attribute Syntax. . wiki.php.net
- ↑ PHP RFC: Shorter Attribute Syntax Change. . wiki.php.net
- ↑ PHP RFC: Named Arguments. . wiki.php.net
- ↑ PHP RFC: Match expression v2. . wiki.php.net
- ↑ PHP RFC: Constructor Property Promotion. . wiki.php.net
- ↑ PHP RFC: Union Types 2.0. . wiki.php.net
- ↑ PHP RFC: Mixed Type v2. . wiki.php.net
- ↑ PHP RFC: Static return type. . wiki.php.net
- ↑ PHP RFC: non-capturing catches. . wiki.php.net
- ↑ Andre, Tyson. PHP RFC: Always available JSON extension. . PHP
- ↑ PHP: todo:php81. . wiki.php.net
- ↑ PHP RFC: Explicit octal integer literal notation. . wiki.php.net
- ↑ PHP RFC: Enumerations. . wiki.php.net
- ↑ PHP: rfc:readonly_properties_v2. . wiki.php.net
- ↑ PHP: rfc:first_class_callable_syntax. . wiki.php.net
- ↑ PHP: rfc:new_in_initializers. . wiki.php.net
- ↑ PHP: rfc:pure-intersection-types. . wiki.php.net
- ↑ PHP: rfc:noreturn_type. . wiki.php.net
- ↑ PHP: rfc:final_class_const. . wiki.php.net
- ↑ PHP: rfc:fibers. . wiki.php.net
- ↑ PHP: todo:php82. . wiki.php.net
- ↑ PHP: rfc:readonly_classes. . wiki.php.net
- ↑ PHP: rfc:null-false-standalone-types. . wiki.php.net
- ↑ PHP: rfc:true-type. . wiki.php.net
- ↑ PHP: rfc:strtolower-ascii. . wiki.php.net
- ↑ PHP: rfc:dnf_types. . wiki.php.net
- ↑ PHP: rfc:constants_in_traits. . wiki.php.net
- ↑ PHP 8.3.0 Released!. . php.net. 23 Novembris 2023
- ↑ PHP: rfc:typed_class_constants. . wiki.php.net
- ↑ PHP: rfc:dynamic_class_constant_fetch. . wiki.php.net
- ↑ PHP: rfc:marking_overriden_methods. . wiki.php.net
- ↑ PHP: rfc:readonly_amendments. . wiki.php.net
- ↑ PHP: rfc:json_validate. . wiki.php.net
- ↑ PHP: rfc:randomizer_additions. . wiki.php.net
- ↑ PHP: todo: php84. . php.net. 26 March 2024
- ↑ "PHP: ElePHPant". 4 Oct 2014
- ↑ Redirecting…. . wwphp-fb.github.io
- ↑ The PHP Mascot's Birth – Creator Of The elePHPant Vincent Pontier Reveals The True Story!. . 7php.com. 2014-01-06
- ↑ ElePHPant. . PHP.earth
- ↑ PHP: ElePHPant. . www.php.net
- ↑ A Field Guide to Elephpants. . afieldguidetoelephpants.net
- ↑ tags Manual. . php.net
- ↑ "Your first PHP-enabled page". The PHP Group
- ↑ 205.0 205.1 PHP: rfc:shortags. . php.net. 2008-04-03
- ↑ "PHP: Basic syntax". The PHP Group
- ↑ "Basic Coding Standard". PHP Framework Interoperability Group
- ↑ echo Manual. . php.net
- ↑ Description of core php.ini directives Manual. . php.net. 2002-03-17
- ↑ Bray, Tim (26 Novembris 2008). "Processing Instructions". Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C
- ↑ "Variables". The PHP Group
- ↑ "Instruction separation". The PHP Group
- ↑ "Comments". The PHP Group
- ↑ "Integers in PHP, running with scissors, and portability". MySQL Performance Blog. 27 Martii 2007
- ↑ 215.0 215.1 215.2 215.3 215.4 "Types". The PHP Group
- ↑ "Strings". The PHP Group
- ↑ SPL – StandardPHPLibrary. . PHP.net. 16 Martii 2009
- ↑ 218.0 218.1 User-defined functions (PHP manual). . php.net. 2014-07-04
- ↑ 219.0 219.1 Variable functions (PHP manual). . php.net. 2014-07-04
- ↑ create_function() (PHP manual). . php.net. 2022-04-06
- ↑ Anonymous functions (PHP manual). . php.net. 2014-07-04
- ↑ Arrow Functions (PHP manual). . php.net
- ↑ Christian Seiler; Dmitry Stogov (2008-07-01). Request for Comments: Lambda functions and closures. . php.net
- ↑ 224.0 224.1 PHP 5 Object References. . mjtsai.com
- ↑ "Classes and Objects (PHP 5)". The PHP Group
- ↑ "Object cloning". The PHP Group
- ↑ Visibility (PHP Manual). . theserverpages.com. 2005-05-19
- ↑ "How do computer languages work?"
- ↑ Gilmore, W. Jason (2006-01-23). Beginning PHP and MySQL 5: From Novice to Professional. Apress. p. 43. ISBN 1-59059-552-1
- ↑ [VOTE Integrating Zend Optimizer+ into the PHP distribution]. . news.php.net
- ↑ Alternative PHP Cache. . PHP.net
Bibliographia
[recensere | fontem recensere]- Ford, Paul. 2015. "What's the Absolute Minimum I Must Know About PHP?" What is Code? Bloomberg Businessweek, 11 Iunii 2015. Editio interretialis.
Nexus externi
[recensere | fontem recensere]Vicimedia Communia plura habent quae ad PHP spectant. |
- Situs interretialis PHP proprius, apud www.php.net.
- Res.
- XAMPP: Collectio Apachis, ex MySQL, PHP.