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 interfaciei portae communis (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 centesimas omnium situum interretialium uti, quorum lingua cognosci potuit. Horum 55.1 centesimae PHP 7 utebantur, quam obsoletam et insecuram esse constat.[8][9]
Historia
recensereHistoria prisca
recenserePrincipium 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 mobiles 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
recensereZeev Suraski et Andreas Gutmans anno 1997 partitorem retractarunt fundamentumque PHP 3 fecerunt, nomen linguae mutantes in acronymum recursivum PHP: Hypertext Preprocessor ("PHP: Praeparator Hypertextuum").[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 1999 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 movebat.[18] Haec ante mensem Augustum 2008 ad formam 4.4.9 progressa est.[26][27]
PHP 5
recensereDie 1 Iulii 2004 edita est PHP 5, quam movebat novum Ingenium Zend II.[18] Haec virtutes novas ferebat, ut programmaturam ad res directam, additrum 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 linguae PHP 4 in programmate 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
recensereFama 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 Unicodicis Omnium Gentium (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, quo 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
recenserePer 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 viderentur esse si consilium foret 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, e quibus hos memorare dignamur:
- 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 additra amota sunt de nucleo PHP, praecipue additrum 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
recenserePHP 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
recensereCompilatro in praesens subsidium datur.[69] Quod opera valde levare potest in quibusdam usibus,[70][71] sed dixit molitor (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 traicere ob opera in quibusdam usibus levata.[73]
Vox match
recensereIn 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
recenserePHP 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
recensereQuaedam 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 catenis parametrorum, quod magis concors est cum subsidio commatibus finalibus in ordinibus et in aliis contextibus.[68]
Bibliotheca normalis mutata et aucta
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- 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
recenserePHP 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
recenserePHP 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
recensereForma | 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 proprium 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 affirmatio use ad functiones et constantia, novum emendatrum phpdbg forma moduli SAPI, alia minora emendata.[107]
|
6.x | Non edita | - | Forma derelicta 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 catenarum brevium,[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] enumerationes,[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
recensereAnimal 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
recensereHoc 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 programma PHP in HTML contineri, 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. Tamen ante PHP 7 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
recensereLinguae 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 scribere licet.
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 additri creari, et solum ab eiusdem additri 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 catenis valorum et in hash, quae et claves et valores continent, servatur; 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
recensereFunctiones multiplices nucleo linguae PHP definiuntur, multaeque in variis additris 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 possunt.[219] Functionem definire sine ullo prototypo semper usori licet.[218][219] Etiam intra molem programmatis definiri potest, ut in operando cernatur an definienda sit. Est quoque quaedam functio function_exists
, quae cernit an ulla functio cum nomine quolibet definita sit. Vocationem functionis per parentheses fieri necesse est, 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 catenam 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, more 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
recensereProgrammaturae 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
recensereHoc 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
recensereSolum 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 consociabilia 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 additri PECL praebetur.[231]
Quamquam PHP Zendiana maxime usitatur, nonnulla alia mandata evoluta sunt. Quaedam sunt compilatra aut compilatro in praesens subsidium dant, quo levius operantur quam PHP Zendiana sed non quidem omnino consociabilia sunt linguae PHP. Haec sunt mandata praeter Zendianum:
- HHVM (HipHop Virtual Machine) – in Facebook evoluta et in fontem apertam exposita; programma PHP convertebat in notas octetales superiores (vulgariter dicitur lingua media), quem tum compilatrum in praesens in programma mechanicum x86-64 mobiliter in operando vertebat. Sic opera sexies melius fieri poterant.[232] Tamen Zendiana a forma 7.2 superavit HHVM,[233] et ultima forma HHVM, quae subsidium PHP rite praebuit, erat HHVM 3.24.[234]
- HipHop – in Facebook evoluta et in fontem apertam exposita. Scripta PHP in programma C++ vertebat et deinde compilabat, quod onus moderatri 50 centesimis levare poterat. Ineunte anno 2013 Facebook eam destituit et HHVM instituit ob causas multas, inter alia quia difficilius explicabatur nec PHP toti subsidium praebebat; deficiebant enim constructa
create_function()
eteval()
et alia.[235]
- HipHop – in Facebook evoluta et in fontem apertam exposita. Scripta PHP in programma C++ vertebat et deinde compilabat, quod onus moderatri 50 centesimis levare poterat. Ineunte anno 2013 Facebook eam destituit et HHVM instituit ob causas multas, inter alia quia difficilius explicabatur nec PHP toti subsidium praebebat; deficiebant enim constructa
- Parrot – machina virtualis ita structa ut linguis mobilibus habiliter operaretur; internuntius, nomine Pipp, programma PHP in scriptionem mediam Parrot vertit, quam tum in notas octetales Parrot vertit et exsequitur machina virtualis.
- PeachPie – compilatrum aevi secundi in notas octetales Linguae Mediae Communis .NET, in suggestu Roslyn structum; successor Phalangeri, quocum nonnullas partes communes habet
- Phalanger – PHP in codicem octetalem Linguae Mediae Communis .Net; antecessor PeachPie
- Quercus – PHP in notas octetales Java compilat.
Licentia
recenserePHP est programmatura libera edita per Licentiam PHP, quae sic stipulatur:[236]
Producta, quae ab hac programmatura derivata sint, appellare "PHP" non licebit, nec "PHP" in eorum nomine esse, nisi venia scripta prior accepta sit a group@php.net. Programmaturam cum PHP operari significabis dicendo "Foo ad PHP", nec "Foo PHP" nec "phpfoo".
Illa lege de vocabulo "PHP" Licentia PHP est contraria Licentiae Publicae Universae (GPL). Contraria quoque est Licentia Zendiana ob legem de praeconiis primae Licentiae BSD similem.[237]
Evolutio et socii
recenserePHP varias bibliothecas liberas aut apertas in fonte edit aut in structis binariis quae inde fiunt. PHP est talis lingua, quae funditus Interrete sentiat, instructis modulis qui moderatra File Transfer Protocol (FTP) et multa moderatra repositoria, inter alia PostgreSQL, MySQL, Microsoft SQL Server et SQLite (quod continetur), moderatra LDAP, et alia adeant. Permultae functiones quae in structis vulgaribus PHP praebentur, ut familia stdio, notae sunt programmatoribus linguae C.[238]
Evolutores additris in C potestates linguae PHP addere sinuntur, quae aut stabiliter compilari in notas PHP aut mobiliter in operando ammoveri possunt. Multa additra scripta sunt in subsidium Windows API, tractationis rerum in systematibus internis Unici similes, serierum octetorum (Unicodicis), cURL, et quarundam usitatarum formarum compressarum. Aliae potestates per additra praebitae sunt compositio cum Internet Relay Chat (IRC), generatio mobilis imaginum et rerum in Adobe Flash, "Obiecta Data PHP" (PHP Data Objects, PDO, quod est stratum abstractum quo programma repositoria datorum adeat),[239][240][241][242][243][244][245] etiam vox facticia. Nonnullae potestates propriae linguae PHP - ut eae, quae series et ordines tractant - per additra quoque dantur.[246] Bibliotheca Socialis Additrorum PHP (PHP Extension Community Library, PECL) est repositorium additrorum linguae PHP.[247]
Sunt incepta, e.g. Zephir, quibus additra PHP lingua superiore conscribi, deinde in additra propria PHP compilari possint. Sic additra simplicius evolvuntur et minore tempore scribuntur et tentantur quam si recte in C scriberentur.[248]
Decembri 2018 PHP Group ex decem hominibus constabat: Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andreas Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, et Andreas Zmievski.[249]
Zend Technologies evolutorum peritiam de PHP agnoscit, candidatis exploratis de PHP 8.[250]
The PHP Foundation
recensereDie 26 Novembris 2021, diarium JetBrains The PHP Foundation, quae res PHP gestura esset, creatam nuntiavit.[251]
Annus | Commissiones | Censiones | Rogationes |
---|---|---|---|
2022[252] | 683 | 283 | 8 |
2023[253] | 784 | 702 | 17 |
The PHP Foundation "Molitores nucleares" conducit, qui in repositorio nucleari linguae laborent. Romanus Pronskiy, unus e rectoribus, molitoribus "mercedem in mercatu solitam" eos destinare velle dicit.[254]
Pleraeque sententiae de The PHP Foundation bonae fuerunt: melius subsidium linguae praebere, gratiae publicae cadenti subvenisse.[255][256] Reprehensa est eo, quod in formis minoribus mutationes rumpentes fecit, ut in PHP 8.2, si membra classis cum spatio prisco inibant, menda in depretiatione exstabant;[257] talia WordPress et alia incepta fontium apertarum affecerunt. [258]
Sovereign Tech Fund Germanum plus 200,000 euro ad PHP Foundation contulit.[259]
Constitutio
recensereDuobus modis in moderatro interretiali subsidium linguae PHP addi potest: aut modulo proprio moderatri aut exsecutabili CGI. PHP interfaciem rectam per modulum habet, cui nomen est server application programming interface (SAPI) cuique subsidium multis moderatris, e.g. Apache HTTP Server, Microsoft IIS et iPlanet Web Server, datur. Alia moderatra, e.g. OmniHTTPd, subsidium Internet Server Application Programming Interface (ISAPI), id est interfaciei moderatrorum societatis Microsoft, praebent. Si autem moduli subsidium in moderatro deest, PHP semper operam Interfaciei Portae Communis (CGI) aut FastCGI parare potest; si hoc fit, moderatrum ita constituitur ut omnes petitiones fasciculorum PHP per illius exsecutabile CGI tractet.[260]
PHP-FPM (FastCGI Process Manager) est alterum mandatum, quod cum distributione publica ipsius linguae a forma 5.3.3 colligatur.[261] Virtutes aliquot habet praeter prius mandatum FastCGI, praecipue moderatris onustioribus utiles.[262]
Ubi PHP ex iusso scripta programmantur, necesse est exsecutabile ad interfaciem per iussa (CLI) adhibere. PHP subsidium SAPI ad CLI a PHP 4.3.0 habet.[263] Haec SAPI praecipue ad applicationes per crustam spectat. Multa similia sed haud pauca dissimilia sunt inter SAPI ad CLI et alias SAPI.[264]
PHP etiam ad applicationem scribendam per interfaciem ad usorem graphicam (GUI) usurpari potest per PHP Desktop. . GitHub aut additrum iam destitutum PHP-GTK.
Si PHP in nube datorum constituta est, impedimenta evolutionis programmaturae (SDK) cum virtutibus nubi adaptatis praebentur. Ita:
- Amazon Web Services AWS SDK ad PHP praebet.[265]
- In Microsoft Azure, Windows Azure SDK ad PHP est utile.[266]
Multi modi constituendi subsidium habent, qui et nucleum linguae et additra immutant.[267][268] Fasciculus constitutivus php.ini
in locis diversis secundum usum quaeritur,[269] et in partes scinditur.[270] Quaedam etiam una cum moderatro constitui possunt.[271]
Usus
recenserePHP est lingua communis ad scripta programmanda sitibus interretialibus, quae aptissime in moderatro interretiali operatur. Si fasciculo petito inest programma PHP, id lingua PHP in operando exsequitur, plerumque ut paginam interretialem mobilem instruat aut imaginem mobilem sive in interrete sive alicubi demonstret.[272] Utilis est quoque in scriptis e iusso et rebus graphicis cliente gestis. Explicari potest in plerisque moderatris interretialibus, multis systematibus internis et suggestibus informaticis, et operari potest cum multis systematibus gestivis repositoriorum relationalium (RDBM). Hospites interretiales subsidium dant PHP ad usum clientium. PHP sine mercede praebetur, et The PHP Group programma fontanum integrum tradit ut usores construant, adaptent, et addant utilitatis sibi causa.[7]
Cum primo tempore creata sit paginarum interretialium mobilium causa, nunc PHP maxime scriptis in moderatro destinatur.[273] Similis est aliarum linguarum scriptis in moderatro destinatarum, quae res mobiles a moderatro clienti tradent, e.g. Pythonis, ASP.NET societatis Microsoft, Jakarta Server Pages societatis Sun Microsystems,[274] et mod_perl
. Multos quoque movit ad compages informaticas evolvendas, quae partes et formam applicationibus rapide evolvendis (RAD) suppeditent. Inter has sunt PRADO, CakePHP, Symfony, CodeIgniter, Laravel, Yii Framework, Phalcon et Laminas, quae virtutibus similibus ac aliae compages interretiales fruuntur.
Structura LAMP insuevit in re interretiali applicationum explicandarum gratia.[275] PHP litteram P in eo nomine solet agere, ceteras Linuce, Apache et MySQL ferentibus, quamquam P potest quoque Pythonem, Perl, compositionem duarum aut omnes tres significare. Aliae sarcinae WAMP et MAMP ad Windows et macOS aptatae sunt, quae litterae W et M significant. Cum et PHP et Apache in infima constitutione macOS includantur, sarcinarum usores faciliorem modum constituendi et renovandi volunt.
Certis usibus, in quibus scientia magis provecta opus est, PHP praebet modum bene definitum atque conscriptum quo additra propria in C aut C++ scribantur.[276][277][278][279][280][281][282] Additra et linguae ipsi bibliothecas addunt et velocitatem exsequendi augent, si hoc est magni momenti et lingua vere compilata usui erit.[283][284] Item PHP modos bene definitos praestat, quibus in aliis programmaturis contineatur. Sic altera programmatura lingua PHP scripta intra se efficere potest, et interfaciem cum sua structura datorum solidam habebit.[285]
Sunt quibus displiceat nucleum PHP subsidio filis multiplicibus carere,[286] quamquam additro "pthreads" in PECL adhiberi possunt.[287][288]
Interfacies per iussa, php-cli, et duo ingenia scriptoria in ActiveX Windows Script Host creata sunt.
Gratia
recensereSystemata gestiva rerum interretialium solent PHP uti, e.g. MediaVici,[289] WordPress,[290] Joomla,[291] Drupal,[292] Moodle,[293] eZ Publish, eZ Platform, et SilverStripe.[294]
Anno 2013, plus 240 milies mille situs interretiales (39 centesimae censorum) PHP utebantur, et in 2.1 milies mille moderatris interretialibus constituta erat.[295]
Die 21 Novembris 2024, cum PHP 8.4 edita esset, in 75.4 centesimis situum, cuius linga decerni potuit, lingua programmandi in moderatro erat; forma PHP 7 maxime usurpabatur, cum 49.1 centesimae situum, qui PHP utebantur, eam haberent, 37.9 centesimae PHP 8, 12.9% centesimae PHP 5, et 0.1 centesimae PHP 4.[9]
Securitas
recensereAnno 2019, 11 centesimae omnium occasionum incurrendi, quae in Repositorio Gentili Occasionum Incurrendi conscribebantur, in PHP pendebantur;[296] circa 30 centesimae occasionum ab anno 1996 in illo repositorio conscriptarum in PHP pependerunt. Vitia artis, quae securitatem afficiant, in lingua ipsa et in bibliothecis intimis raro eveniunt (22 anno 2009, circa 1 centesimam summae, cum PHP circa 20 centesimae programmatum conscriptorum uterentur).[297] Quaedam linguae, quia errare est proprium evolutorum, dispunctionem vitiorum includunt, quae sponte initus non probatos, qui multa mala inducunt, deprendant. Et in PHP tales virtutes proponebantur, sed postea haec consilia reiecta aut relicta sunt.[298][299][300]
Suhosin[301] et Snuffleupagus[302], incepta externorum, tollere aut mutare optabant quaecumque periculosa in lingua inveniebantur.
Formae veteres PHP parametra constitutionis et horum valores praestitutos habebat, quae securitati quarundam applicationum inutilia fuerunt. Quorum notissima fuerunt constitutiones magic_quotes_gpc
et register_globals
[303]; haec omnia parametra URL in variabilia PHP transformabatur, quod hosti facultatem cuilibet variabili universali, quod non inisset, valoris figendi et exsecutionis scripti turbandae faciebat. Subsidium quidem istarum constitutionum destitutum est in PHP 5.3.0, et sublatum in PHP 5.4.0.[304]
Alia occasio incursionis in constitionibus operariis apparet, si exsecutio PHP non debilitata est (e.g. regula constitutiva engine
)[305] in indice, ubi fasciculi remissi sunt. Habilitata enim potest programma malevolum in fasciculis remissis contentum exsequi.[306][307][308] Optimum est igitur, si index imaginum aut extra radicem documenti, qui moderatro praestatur, situs est, et per scriptum medium moderatur, aut exsecutio PHP debilitatur indici, qui fasciculos remissos tenet.
Lectio quoque mobilis additrorum PHP (per regulam constitutivam enable_dl
)[309] in moderatro communi securitati inutilis videtur.[310][311]
Item conversio generum implicita, quae valores inaequales aequat, quandoque invito evolutore, mala trahere potest. Exempli gratia, comparatio '0e1234' == '0'
exitum true
("vera") reddit, quod series, quae ut numeri legi possunt, in numeros convertuntur; hoc igitur casu, valor prior comparationis tractatur ut notatio scientifica valens (0×101234), id est nullum. Tales errores occasiones scelerum per confirmationem dolosam in Simple Machines Forum,[312] Typo3[313] et phpBB[314] faciebant, cum hash tesserae MD5 compararentur. Consilium probatum est hash_equals()
(contra incursiones temporales), strcmp
aut operatro identitatis (===
) - nam '0e1234' === '0'
reddit false
("falsa") - uti.Formula:Citation needed
Anno 2013, in ratione 170,000 deformationum situum a Zone-H edita, usitatissima incursio (53%) erat incursio per fasciculum inclusum, plerumque propter usum insecurum horum constructorum linguae PHP: include
, require
, et allow_url_fopen
.[315][316]
Securitas cryptographica
recenserePHP continet functiones rand()
[317] et mt_rand()[318]
qui generatrum numerorum pseudo-fortuitorum utuntur et cryptographice insecurae sunt. In forma 8.1 contenta est functio random_int()
, quae fonte fortis cryptographice securo a systemate allato utitur.[319]
Subsidium longum
recensereCollegium evolutorum linguae PHP rite menda corrigit per duos annos postquam formam minorem edidit, deinde per duos annos securitatem tantum corrigit.[320] In posterum tempus, editum vita defunctum habetur nec subsidium rite obtinet.
Subsidium Extensum praeter illam finem Zend et aliae societates mercatoriae praestant[321][322]
Nexus interni
Notae
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.
- ↑ 7.0 7.1 "Embedding PHP in HTML". O'Reilly. 2001-05-03
- ↑ PHP: Unsupported Branches. . www.php.net.
- ↑ 9.0 9.1 Usage statistics of PHP for websites. . W3Techs – World Wide Web Technology Surveys (W3Techs)
- ↑ 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)"
- ↑ Lerdorf, Rasmus (1995-06-08). Announce: Personal Home Page Tools (PHP Tools). . comp.infosystems.www.authoring.cgi.
- ↑ 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.
- ↑ Rasmus Lerdorf (16 Decembris 2013). Re: Flexible function naming. . php.internals.
- ↑ 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.
- ↑ Andrei Zmievski (2005-08-10). "PHP Unicode support design document".
- ↑ "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".
- ↑ Rasmus Lerdorf (2010-03-11). "PHP 6".
- ↑ "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
- ↑ We are the 98.5% (and the 16%) « HipHop Virtual Machine. . hhvm.com. December 2013
- ↑ "The Definitive PHP 5.6, 7.0, 7.1, 7.2 & 7.3 Benchmarks (2019)". 2019-01-14
- ↑ Krill, Paul (2017-09-20). Forget PHP! Facebook's HHVM engine switches to Hack instead. . InfoWorld
- ↑ Announcement on GitHub removing HPHPc support. . GitHub
- ↑ "The PHP License, version 3.01"
- ↑ "GPL-Incompatible, Free Software Licenses". Various Licenses and Comments about Them. Free Software Foundation
- ↑ "PHP: Function and Method listing Manual". The PHP Group
- ↑ Introduction Manual. . php.net. 2013-06-07
- ↑ Darryl Patterson (5 Augusti 2004). Simplify Business Logic with PHP DataObjects — O'Reilly Media. . ibm.com
- ↑ "IBM — United States"
- ↑ Five common PHP database problems. . ibm.com. 2006-08-01
- ↑ IBM Redbooks — Developing PHP Applications for IBM Data Servers. . redbooks.ibm.com
- ↑ php[architect Magazine – The Journal for PHP Programmers]. . www.phparch.com
- ↑ Krill, Paul (19 Octobris 2005). "PHP catching on at enterprises, vying with Java". InfoWorld
- ↑ Cross Reference: /PHP_5_4/ext/standard/. . php.net
- ↑ Developing Custom PHP Extensions. . devnewz.com. 2002-09-09
- ↑ Why Zephir?. . zephir-lang.com. 2015-10-20
- ↑ "PHP Credits"
- ↑ Learn PHP Via PHP Training and PHP Certification. . www.zend.com
- ↑ The New Life of PHP – The PHP Foundation | The PhpStorm Blog. . The JetBrains Blog. 22 Novembris 2021
- ↑ The PHP Foundation: Impact and Transparency Report 2022. . thephp.foundation
- ↑ Pronskiy, Roman (2024-02-26). The PHP Foundation: Impact and Transparency Report 2023. . The PHP Foundation
- ↑ Anderson, Tim. PHP Foundation formed to fund core developers. . www.theregister.com
- ↑ Programming languages: This old favourite is gaining popularity again. . ZDNET
- ↑ PHP 8.1 Released With Enums, Read-Only Properties and Fibers. . www.i-programmer.info
- ↑ It's time for the PHP Foundation to #StopBreakingPHP. . trongate.io
- ↑ WordPress 6.4 PHP Compatibility. . Make WordPress Hosting. 2023-11-16
- ↑ PHP. . Sovereign Tech Fund
- ↑ General Installation Considerations. . php.net
- ↑ News Archive: PHP 5.3.3 Released!. . php.net. 2010-07-22
- ↑ FastCGI Process Manager (FPM). . php.net
- ↑ Command line usage: Introduction. . php.net
- ↑ Command line usage: Differences to other SAPIs. . php.net
- ↑ AWS SDK for PHP. . aws.amazon.com
- ↑ Windows Azure SDK for PHP — Interoperability Bridges and Labs Center. . interoperabilitybridges.com
- ↑ Runtime configuration: Table of contents. . php.net
- ↑ php.ini directives: List of php.ini directives. . php.net
- ↑ "Runtime configuration: The configuration file". PHP.net
- ↑ "php.ini directives: List of php.ini sections". PHP.net
- ↑ "Runtime configuration: Where a configuration setting may be set". PHP.net
- ↑ "PHP Manual Image Processing and GD;". php.net
- ↑ "PHP Server-Side Scripting Language". Indiana University. 2007-04-04
- ↑ "JavaServer Pages Technology — JavaServer Pages Comparing Methods for Server-Side Dynamic Content White Paper". Sun Microsystems
- ↑ Five simple ways to tune your LAMP application. . IBM. 2011-01-25
- ↑ PHP at the core: Extension structure. . PHP.net
- ↑ PHP at the core: The "counter" Extension – A Continuing Example. . PHP.net
- ↑ "Extension Writing Part I: Introduction to PHP and Zend". Zend Technologies. 2005-03-01
- ↑ "Extension Writing Part II: Parameters, Arrays, and ZVALs". Zend Technologies. 2005-06-06
- ↑ "Extension Writing Part II: Parameters, Arrays, and ZVALs (continued)". Zend Technologies. 2005-06-06
- ↑ "Extension Writing Part III: Resources". Zend Technologies. 2006-05-12
- ↑ "Wrapping C++ Classes in a PHP Extension". Zend Technologies. 2009-04-22
- ↑ "Extending PHP with C++?". Stack Overflow
- ↑ "How can I use C++ code to interact with PHP?". Stack Overflow
- ↑ Golemon, Sara (2006). Extending and Embedding PHP. Sams. ISBN 978-0-672-32704-9
- ↑ Request #46919: Multithreading. . PHP.net
- ↑ pthreads: Introduction (PHP Manual). . PHP.net
- ↑ PECL :: Package :: pthreads. . pecl.php.net
- ↑ {{cite web|date=2010-01-25|title=Manual:Installation requirements#PHP|url=http://www.mediawiki.org/w/index.php?title=Manual:Installation_requirements&oldid=299556#PHP%7Caccess-date=2010-02-26%7Cpublisher=MediaWiki
- ↑ "About WordPress"
- ↑ Kempkens, Alex. "Joomla! — Content Management System to build websites & apps"
- ↑ "PHP and Drupal". Drupal.org. 16 Septembris 2007
- ↑ "About". Moodle.org
- ↑ "Server requirements of SilverStripe"
- ↑ Ide, Andy (2013-01-31). "PHP just grows & grows"
- ↑ "National Vulnerability Database (NVD) Search Vulnerabilities Statistics"
- ↑ "PHP-related vulnerabilities on the National Vulnerability Database". 2012-07-05
- ↑ "Developer Meeting Notes, Nov. 2005"
- ↑ "Taint mode decision, November 2007"
- ↑ PHP: rfc:taint. . wiki.php.net
- ↑ "Hardened-PHP Project". 2008-08-15
- ↑ "Snuffleupagus Documentation"
- ↑ "Security: Using Register Globals". PHP Manual. PHP.net
- ↑ "Magic Quotes". PHP Manual. PHP.net
- ↑ "'engine' configuration directive". PHP: Runtime Configuration. PHP.net
- ↑ "PHP Security Exploit With GIF Images". 2007-06-22
- ↑ "PHP security exploit with GIF images". PHP Classes blog. 2007-06-20
- ↑ "Passing Malicious PHP Through getimagesize()". 2007-06-04
- ↑ "'enable_dl' configuration directive". PHP: Runtime Configuration. PHP.net
- ↑ "PHP function reference: dl()". PHP.net
- ↑ "My host won't fix their Trojan". WebHosting Talk
- ↑ Raz0r (25 Ianuarii 2013). "Simple Machines Forum <= 2.0.3 Admin Password Reset"
- ↑ Nibble Security. "TYPO3-SA-2010-020, TYPO3-SA-2010-022 EXPLAINED"
- ↑ Криптостойкость и небезопасное сравнение. . ahack.ru
- ↑ Krawczyk, Pawel (2013). "Most common attacks on web applications". IPSec.pl
- ↑ Krawczyk, Pawel (2013). "So what are the "most critical" application flaws? On new OWASP Top 10". IPSec.pl
- ↑ "PHP: Rand – Manual"
- ↑ ,"PHP: Mt_rand - Manual"
- ↑ "PHP: Random_int – Manual"
- ↑ "PHP: RFC:release_cycle_update"
- ↑ "PHP Support for PHP 7.2 – 8.0 | PHP LTS | Zend by Perforce"
- ↑ Pagely PHP Long Term Support Page. . Pagely
Bibliographia
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
recensereVicimedia Communia plura habent quae ad PHP spectant. |
- Situs interretialis PHP proprius, apud www.php.net.
- XAMPP: Collectio Apachis, ex MySQL, PHP.