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]

Logotypus PHP.

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

recensere

Historia prisca

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 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

recensere
 
Ecce exemplum programmatis ad WordPress, systema ad res tractandas.

Zeev 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]

Die 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]

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 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.

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 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 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

Compilatro 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

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

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

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 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 interfacies Stringable ad genera summonenda utilis.[67]
  • Diversae functiones novae, e.g. str_contains(), str_starts_with(), et str_ends_with();[81] fdiv(); get_debug_type(); et get_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 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 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
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 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

recensere
 
ElePHPant, animal tutelare linguae PHP

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
 
Applicatio "Salve, Munde" in lingua PHP 7.4, in moderatro evolutorio proprio operans

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 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

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 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

recensere

Functiones 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]

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

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

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 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() et eval() et alia.[235]
  • 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

recensere

PHP 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

recensere

PHP 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

recensere
 
Logotypus organizationis The PHP Foundation.

Die 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

recensere
 
Examplar exitus functionis phpinfo() in PHP 7.1

Duobus 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:

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]

 
Conspectus aggeris programmaturarum LAMP, hic una cum Squid ostensi

PHP 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]

 
Pagina interretialis mobilis, exemplum scriptorum in moderatro, linguis PHP et MySQL effectum

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.

Systemata 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]

PHP 8
37.9%
  
37.9%
PHP 7
49.1%
  
49.1%
PHP 5
12.9%
  
12.9%
PHP 4
0.1%
  
0.1%

Securitas

recensere

Anno 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

recensere

PHP 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

recensere

Collegium 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

  1. 1.0 1.1 History of PHP. . php.net .
  2. "History of PHP and related projects". The PHP Group .
  3. Olsson, Mikael (2013-09-04). PHP Quick Scripting Reference. Apress. ISBN 978-1-4302-6284-8 .
  4. PHP Manual: Preface, www.php.net.]
  5. "Introduction: What can PHP do?". PHP Manual .
  6. 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. 7.0 7.1 "Embedding PHP in HTML". O'Reilly. 2001-05-03 
  8. PHP: Unsupported Branches. . www.php.net .
  9. 9.0 9.1 Usage statistics of PHP for websites. . W3Techs – World Wide Web Technology Surveys (W3Techs) 
  10. Krill, Paul (2013-11-18). Believe the hype: PHP founder backs Facebook's HipHop technology. . InfoWorld 
  11. Lerdorf, Rasmus (2012-07-20). "I wonder why people keep writing that PHP was ever written in Perl. It never was. #php". Twitter .
  12. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones" (mp3). The Conversations Network .
  13. Lerdorf, Rasmus (2007). "Slide 3". slides for 'PHP on Hormones' talk. The PHP Group .
  14. Lerdorf, Rasmus (8 Iunii 1995). "Announce: Personal Home Page Tools (PHP Tools)" 
  15. Lerdorf, Rasmus (1995-06-08). Announce: Personal Home Page Tools (PHP Tools). . comp.infosystems.www.authoring.cgi .
  16. History of PHP. . php.net 
  17. Olsson, Mikael (2013-09-04). PHP Quick Scripting Reference. Apress. ISBN 978-1-4302-6284-8 
  18. 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 
  19. "Rasmus Lerdorf, Senior Technical Yahoo: PHP, Behind the Mic". 2003-11-19 
  20. 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" .
  21. "Problems with PHP" 
  22. php.internals: Re: Function name consistency. . news.php.net. 2013-12-28 .
  23. Rasmus Lerdorf (16 Decembris 2013). Re: Flexible function naming. . php.internals .
  24. PHP Acronym Meaning Vote. . PHP.net 
  25. "Zend Engine version 2.0: Feature Overview and Design". Zend Technologies Ltd. .
  26. "php.net 2007 news archive". The PHP Group. 2007-07-13 .
  27. Kerner, Sean Michael (2008-02-01). "PHP 4 is Dead—Long Live PHP 5". InternetNews /
  28. Trachtenberg, Adam (2004-07-15). "Why PHP 5 Rocks!". O'Reilly .
  29. "Late Static Binding in PHP". Digital Sandwich. 2006-02-23 
  30. "Static Keyword". The PHP Group .
  31. "GoPHP5" .
  32. "PHP projects join forces to Go PHP 5". GoPHP5 Press Release .
  33. "GoPHP5". GoPHP5 .
  34. PHP Installation and Configuration. . php.net 
  35. PHP for Windows: Binaries and sources releases (5.3). . php.net .
  36. PHP for Windows: Binaries and sources releases (5.4). . php.net 
  37. PHP for Windows: Binaries and sources releases (5.5). . php.net .
  38. "PHP: Supported Versions" 
  39. Types: Strings (PHP Manual). . PHP.net .
  40. Details of the String Type (PHP Manual). . PHP.net .
  41. Andrei Zmievski (2005-08-10). "PHP Unicode support design document" .
  42. "PHP 5.5 or 6.0" .
  43. Andrei Zmievski (2011-04-22). "The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6" .
  44. Rasmus Lerdorf (2010-03-11). "PHP 6" .
  45. "The Neverending Muppet Debate of PHP 6 v PHP 7" .
  46. RFC: Name of Next Release of PHP. . php.net. 2014-07-07 .
  47. "Re: [PHP-DEV [VOTE] [RFC] Name of Next Release of PHP (again)"]. 2014-07-30 .
  48. phpng: Refactored PHP Engine with Big Performance Improvement. . news.php.net .
  49. PHP: rfc:phpng. . php.net .
  50. 50.0 50.1 PHP: phpng. . php.net .
  51. Merge branch 'ZendEngine3'. . github.com. 2014-12-05 .
  52. 52.0 52.1 "PHP: Release Process". 2011-06-20 
  53. 53.0 53.1 PHP RFC: Exceptions in the engine (for PHP 7). . php.net 
  54. 54.0 54.1 PHP RFC: Uniform Variable Syntax. . php.net. 2014-05-31 
  55. Online PHP editor | output for udRhX. . 3v4l.org 
  56. PHP RFC: Fix "foreach" behavior. . php.net 
  57. PHP RFC: Constructor behaviour of internal classes. . php.net 
  58. PHP RFC: Removal of dead or not yet PHP7 ported SAPIs and extensions. . php.net 
  59. PHP RFC: Fix list() behavior inconsistency. . php.net 
  60. PHP RFC: Remove alternative PHP tags. . php.net 
  61. PHP RFC: Make defining multiple default cases in a switch a syntax error. . php.net 
  62. PHP RFC: Remove hex support in numeric strings. . php.net 
  63. 63.0 63.1 PHP RFC: Integer Semantics. . php.net 
  64. PHP RFC: ZPP Failure on Overflow. . php.net 
  65. 65.0 65.1 65.2 RFC: Return Types. . php.net. 2015-01-27 
  66. 66.0 66.1 66.2 66.3 66.4 66.5 RFC: Scalar Type Declarations. . php.net. 2015-03-16 
  67. 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. 68.0 68.1 PHP 8 Released. . PHP 
  69. 69.0 69.1 PHP: rfc:jit. . wiki.php.net 
  70. Brent. PHP 8: JIT performance in real-life web applications. . Stitcher.io 
  71. Rethams, Derick. "PHP 8: A Quick Look at JIT" 
  72. 72.0 72.1 Popov, Nikita (13 Iulii 2020). ""What's new in PHP 8.0?" Nikita Popov". PHP fwdays Formula:Cbignore
  73. Daniele, Carlo (25 Maii 2020). What's New in PHP 8 (Features, Improvements, and the JIT Compiler). . Kinsta 
  74. Redmond, Paul (15 July 2020). Match Expression is Coming to PHP 8. . Laravel News 
  75. PHP 8.0: Match Expressions. . PHP Watch 
  76. Barnes, Eric (27 Novembris 2020). PHP 8 is now Released!. . Laravel News 
  77. 77.0 77.1 PHP RFC: throw expression. . wiki.php.net 
  78. 78.0 78.1 PHP RFC: Nullsafe operator. . wiki.php.net 
  79. Roose, Brent. "PHP 8: Constructor property promotion" 
  80. 80.0 80.1 PHP: rfc:weakrefs. . wiki.php.net 
  81. Merchant, Amit (13 Iunii 2020). These new string functions are coming in PHP 8. . Amit Merchant 
  82. Popov, Nikita. Call for participation: Annotating internal function argument and return types. . Externals 
  83. PHP 8 ChangeLog. . PHP.net 
  84. PHP: PHP 8.1.0 Release Announcement. . PHP.net 
  85. PHP 8 ChangeLog. . PHP.net 
  86. PHP: PHP 8.2.0 Release Announcement. . PHP.net 
  87. Unsupported Branches. . php.net 
  88. "PHP 4.0.0 Released" 
  89. 89.0 89.1 89.2 89.3 "PHP: PHP 4 ChangeLog". The PHP Group. 2008-01-03 
  90. "PHP 4.1.0 Release Announcement" 
  91. "PHP 4.2.0 Release Announcement" 
  92. "PHP 4.3.0 Release Announcement" 
  93. "Using PHP from the command line". PHP Manual. The PHP Group 
  94. "PHP 4.4.0 Release Announcement" 
  95. "PHP 4.4.0 Release Announcement". PHP Manual. The PHP Group 
  96. "PHP 5.0.0 Released!" 
  97. 97.0 97.1 97.2 "PHP: PHP 5 ChangeLog". The PHP Group. 2007-11-08 
  98. "PHP 5.1.0 Release Announcement" 
  99. "PHP manual: PDO". The PHP Group. 2011-11-15 
  100. "PHP 5.2.0 Release Announcement" 
  101. "PHP 5.3.0 Release Announcement" 
  102. "PHP 5.4.0 Release Announcement" 
  103. "Built-in web server" 
  104. "PHP 5.5.0 Release Announcement" 
  105. PHP 5.5.0 changes. . php.net 
  106. "PHP 5.6.0 Release Announcement" 
  107. Migrating from PHP 5.5.x to PHP 5.6.x. . php.net 
  108. "Resetting PHP 6" 
  109. "PHP 7 moves full speed ahead". 2014-10-31 
  110. News Archive – 2018: PHP 7.2.9 Released. . php.net. 2018-08-16 
  111. PHP: rfc:size_t_and_int64_next. . php.net 
  112. PHP: rfc:abstract_syntax_tree. . php.net 
  113. PHP: rfc:closure_apply. . php.net 
  114. PHP: rfc:integer_semantics. . php.net 
  115. PHP: rfc:isset_ternary. . php.net 
  116. "RFC: Unicode Codepoint Escape Syntax". 2014-11-24 
  117. Combined Comparison (Spaceship) Operator. . php.net 
  118. PHP RFC: Generator Delegation. . php.net 
  119. PHP RFC: Anonymous Classes. . php.net 
  120. PHP RFC: Easy User-land CSPRNG. . php.net 
  121. PHP RFC: Group Use Declarations. . php.net 
  122. PHP: rfc:iterable. . php.net. 2016-06-10 
  123. PHP: rfc:nullable_types. . php.net. 2014-04-10 
  124. PHP: rfc:void_return_type. . php.net. 2015-11-09 
  125. PHP: rfc:class_constant_visibility. . php.net. 2015-10-27 
  126. PHP: rfc:short_list_syntax. . php.net. 2016-04-07 
  127. PHP: rfc:multiple-catch. . php.net. 2016-03-06 
  128. PHP: rfc:object-typehint. . wiki.php.net 
  129. PHP: rfc:libsodium. . wiki.php.net 
  130. PHP: rfc:allow-abstract-function-override. . wiki.php.net 
  131. PHP: rfc:parameter-no-type-variance. . wiki.php.net 
  132. PHP: todo:php73. . wiki.php.net 
  133. PHP: rfc:flexible_heredoc_nowdoc_syntaxes. . wiki.php.net 
  134. PHP: rfc:list_reference_assignment. . wiki.php.net 
  135. PHP: rfc:pcre2-migration. . wiki.php.net 
  136. PHP: hrtime Manual. . php.net 
  137. PHP 7.4.0 Released!. . php.net 
  138. PHP: rfc:typed_properties_v2. . wiki.php.net 
  139. PHP: rfc:preload. . wiki.php.net 
  140. PHP: rfc:null_coalesce_equal_operator. . wiki.php.net 
  141. PHP: rfc:improve-openssl-random-pseudo-bytes. . wiki.php.net 
  142. PHP: rfc:ffi. . wiki.php.net 
  143. PHP: rfc:permanent_hash_ext. . wiki.php.net 
  144. PHP: rfc:password_registry. . wiki.php.net 
  145. PHP: rfc:mb_str_split. . wiki.php.net 
  146. PHP: rfc:reference_reflection. . wiki.php.net 
  147. PHP: rfc:deprecate-and-remove-ext-wddx. . wiki.php.net 
  148. PHP: rfc:custom_object_serialization. . wiki.php.net 
  149. PHP: Supported Versions. . php.net 
  150. PHP: rfc:negative_array_index. . wiki.php.net 
  151. PHP RFC: Validation for abstract trait methods. . wiki.php.net 
  152. PHP RFC: Saner string to number comparisons. . wiki.php.net 
  153. PHP RFC: Saner numeric strings. . wiki.php.net 
  154. PHP RFC: Stricter type checks for arithmetic/bitwise operators. . wiki.php.net 
  155. PHP RFC: Reclassifying engine warnings. . wiki.php.net 
  156. PHP: rfc:consistent_type_errors. . wiki.php.net 
  157. PHP: rfc:lsp_errors. . wiki.php.net 
  158. PHP RFC: Locale-independent float to string cast. . wiki.php.net 
  159. PHP RFC: Variable Syntax Tweaks. . wiki.php.net 
  160. PHP RFC: Attributes V2. . wiki.php.net 
  161. PHP RFC: Attribute Amendments. . wiki.php.net 
  162. PHP RFC: Shorter Attribute Syntax. . wiki.php.net 
  163. PHP RFC: Shorter Attribute Syntax Change. . wiki.php.net 
  164. PHP RFC: Named Arguments. . wiki.php.net 
  165. PHP RFC: Match expression v2. . wiki.php.net 
  166. PHP RFC: Constructor Property Promotion. . wiki.php.net 
  167. PHP RFC: Union Types 2.0. . wiki.php.net 
  168. PHP RFC: Mixed Type v2. . wiki.php.net 
  169. PHP RFC: Static return type. . wiki.php.net 
  170. PHP RFC: non-capturing catches. . wiki.php.net 
  171. Andre, Tyson. PHP RFC: Always available JSON extension. . PHP 
  172. PHP: todo:php81. . wiki.php.net 
  173. PHP RFC: Explicit octal integer literal notation. . wiki.php.net 
  174. PHP RFC: Enumerations. . wiki.php.net 
  175. PHP: rfc:readonly_properties_v2. . wiki.php.net 
  176. PHP: rfc:first_class_callable_syntax. . wiki.php.net 
  177. PHP: rfc:new_in_initializers. . wiki.php.net 
  178. PHP: rfc:pure-intersection-types. . wiki.php.net 
  179. PHP: rfc:noreturn_type. . wiki.php.net 
  180. PHP: rfc:final_class_const. . wiki.php.net 
  181. PHP: rfc:fibers. . wiki.php.net 
  182. PHP: todo:php82. . wiki.php.net 
  183. PHP: rfc:readonly_classes. . wiki.php.net 
  184. PHP: rfc:null-false-standalone-types. . wiki.php.net 
  185. PHP: rfc:true-type. . wiki.php.net 
  186. PHP: rfc:strtolower-ascii. . wiki.php.net 
  187. PHP: rfc:dnf_types. . wiki.php.net 
  188. PHP: rfc:constants_in_traits. . wiki.php.net 
  189. PHP 8.3.0 Released!. . php.net. 23 Novembris 2023 
  190. PHP: rfc:typed_class_constants. . wiki.php.net 
  191. PHP: rfc:dynamic_class_constant_fetch. . wiki.php.net 
  192. PHP: rfc:marking_overriden_methods. . wiki.php.net 
  193. PHP: rfc:readonly_amendments. . wiki.php.net 
  194. PHP: rfc:json_validate. . wiki.php.net 
  195. PHP: rfc:randomizer_additions. . wiki.php.net 
  196. PHP: todo: php84. . php.net. 26 March 2024 
  197. "PHP: ElePHPant". 4 Oct 2014 
  198. Redirecting…. . wwphp-fb.github.io 
  199. The PHP Mascot's Birth – Creator Of The elePHPant Vincent Pontier Reveals The True Story!. . 7php.com. 2014-01-06 
  200. ElePHPant. . PHP.earth 
  201. PHP: ElePHPant. . www.php.net 
  202. A Field Guide to Elephpants. . afieldguidetoelephpants.net 
  203. tags Manual. . php.net 
  204. "Your first PHP-enabled page". The PHP Group 
  205. 205.0 205.1 PHP: rfc:shortags. . php.net. 2008-04-03 
  206. "PHP: Basic syntax". The PHP Group 
  207. "Basic Coding Standard". PHP Framework Interoperability Group 
  208. echo Manual. . php.net 
  209. Description of core php.ini directives Manual. . php.net. 2002-03-17 
  210. Bray, Tim (26 Novembris 2008). "Processing Instructions". Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C 
  211. "Variables". The PHP Group 
  212. "Instruction separation". The PHP Group 
  213. "Comments". The PHP Group 
  214. "Integers in PHP, running with scissors, and portability". MySQL Performance Blog. 27 Martii 2007 
  215. 215.0 215.1 215.2 215.3 215.4 "Types". The PHP Group 
  216. "Strings". The PHP Group 
  217. SPL – StandardPHPLibrary. . PHP.net. 16 Martii 2009 
  218. 218.0 218.1 User-defined functions (PHP manual). . php.net. 2014-07-04 
  219. 219.0 219.1 Variable functions (PHP manual). . php.net. 2014-07-04 
  220. create_function() (PHP manual). . php.net. 2022-04-06 
  221. Anonymous functions (PHP manual). . php.net. 2014-07-04 
  222. Arrow Functions (PHP manual). . php.net 
  223. Christian Seiler; Dmitry Stogov (2008-07-01). Request for Comments: Lambda functions and closures. . php.net 
  224. 224.0 224.1 PHP 5 Object References. . mjtsai.com 
  225. "Classes and Objects (PHP 5)". The PHP Group 
  226. "Object cloning". The PHP Group 
  227. Visibility (PHP Manual). . theserverpages.com. 2005-05-19 
  228. "How do computer languages work?" 
  229. Gilmore, W. Jason (2006-01-23). Beginning PHP and MySQL 5: From Novice to Professional. Apress. p. 43. ISBN 1-59059-552-1 
  230. [VOTE Integrating Zend Optimizer+ into the PHP distribution]. . news.php.net 
  231. Alternative PHP Cache. . PHP.net 
  232. We are the 98.5% (and the 16%) « HipHop Virtual Machine. . hhvm.com. December 2013 
  233. "The Definitive PHP 5.6, 7.0, 7.1, 7.2 & 7.3 Benchmarks (2019)". 2019-01-14 
  234. Krill, Paul (2017-09-20). Forget PHP! Facebook's HHVM engine switches to Hack instead. . InfoWorld 
  235. Announcement on GitHub removing HPHPc support. . GitHub 
  236. "The PHP License, version 3.01" 
  237. "GPL-Incompatible, Free Software Licenses". Various Licenses and Comments about Them. Free Software Foundation 
  238. "PHP: Function and Method listing Manual". The PHP Group 
  239. Introduction Manual. . php.net. 2013-06-07 
  240. Darryl Patterson (5 Augusti 2004). Simplify Business Logic with PHP DataObjects — O'Reilly Media. . ibm.com 
  241. "IBM — United States" 
  242. Five common PHP database problems. . ibm.com. 2006-08-01 
  243. IBM Redbooks — Developing PHP Applications for IBM Data Servers. . redbooks.ibm.com 
  244. php[architect Magazine – The Journal for PHP Programmers]. . www.phparch.com 
  245. Krill, Paul (19 Octobris 2005). "PHP catching on at enterprises, vying with Java". InfoWorld 
  246. Cross Reference: /PHP_5_4/ext/standard/. . php.net 
  247. Developing Custom PHP Extensions. . devnewz.com. 2002-09-09 
  248. Why Zephir?. . zephir-lang.com. 2015-10-20 
  249. "PHP Credits" 
  250. Learn PHP Via PHP Training and PHP Certification. . www.zend.com 
  251. The New Life of PHP – The PHP Foundation | The PhpStorm Blog. . The JetBrains Blog. 22 Novembris 2021 
  252. The PHP Foundation: Impact and Transparency Report 2022. . thephp.foundation 
  253. Pronskiy, Roman (2024-02-26). The PHP Foundation: Impact and Transparency Report 2023. . The PHP Foundation 
  254. Anderson, Tim. PHP Foundation formed to fund core developers. . www.theregister.com 
  255. Programming languages: This old favourite is gaining popularity again. . ZDNET 
  256. PHP 8.1 Released With Enums, Read-Only Properties and Fibers. . www.i-programmer.info 
  257. It's time for the PHP Foundation to #StopBreakingPHP. . trongate.io 
  258. WordPress 6.4 PHP Compatibility. . Make WordPress Hosting. 2023-11-16 
  259. PHP. . Sovereign Tech Fund 
  260. General Installation Considerations. . php.net 
  261. News Archive: PHP 5.3.3 Released!. . php.net. 2010-07-22 
  262. FastCGI Process Manager (FPM). . php.net 
  263. Command line usage: Introduction. . php.net 
  264. Command line usage: Differences to other SAPIs. . php.net 
  265. AWS SDK for PHP. . aws.amazon.com 
  266. Windows Azure SDK for PHP — Interoperability Bridges and Labs Center. . interoperabilitybridges.com 
  267. Runtime configuration: Table of contents. . php.net 
  268. php.ini directives: List of php.ini directives. . php.net 
  269. "Runtime configuration: The configuration file". PHP.net 
  270. "php.ini directives: List of php.ini sections". PHP.net 
  271. "Runtime configuration: Where a configuration setting may be set". PHP.net 
  272. "PHP Manual Image Processing and GD;". php.net 
  273. "PHP Server-Side Scripting Language". Indiana University. 2007-04-04 
  274. "JavaServer Pages Technology — JavaServer Pages Comparing Methods for Server-Side Dynamic Content White Paper". Sun Microsystems 
  275. Five simple ways to tune your LAMP application. . IBM. 2011-01-25 
  276. PHP at the core: Extension structure. . PHP.net 
  277. PHP at the core: The "counter" Extension – A Continuing Example. . PHP.net 
  278. "Extension Writing Part I: Introduction to PHP and Zend". Zend Technologies. 2005-03-01 
  279. "Extension Writing Part II: Parameters, Arrays, and ZVALs". Zend Technologies. 2005-06-06 
  280. "Extension Writing Part II: Parameters, Arrays, and ZVALs (continued)". Zend Technologies. 2005-06-06 
  281. "Extension Writing Part III: Resources". Zend Technologies. 2006-05-12 
  282. "Wrapping C++ Classes in a PHP Extension". Zend Technologies. 2009-04-22 
  283. "Extending PHP with C++?". Stack Overflow 
  284. "How can I use C++ code to interact with PHP?". Stack Overflow 
  285. Golemon, Sara (2006). Extending and Embedding PHP. Sams. ISBN 978-0-672-32704-9 
  286. Request #46919: Multithreading. . PHP.net 
  287. pthreads: Introduction (PHP Manual). . PHP.net 
  288. PECL :: Package :: pthreads. . pecl.php.net 
  289. {{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
  290. "About WordPress" 
  291. Kempkens, Alex. "Joomla! — Content Management System to build websites & apps" 
  292. "PHP and Drupal". Drupal.org. 16 Septembris 2007 
  293. "About". Moodle.org 
  294. "Server requirements of SilverStripe" 
  295. Ide, Andy (2013-01-31). "PHP just grows & grows" 
  296. "National Vulnerability Database (NVD) Search Vulnerabilities Statistics" 
  297. "PHP-related vulnerabilities on the National Vulnerability Database". 2012-07-05 
  298. "Developer Meeting Notes, Nov. 2005" 
  299. "Taint mode decision, November 2007" 
  300. PHP: rfc:taint. . wiki.php.net 
  301. "Hardened-PHP Project". 2008-08-15 
  302. "Snuffleupagus Documentation" 
  303. "Security: Using Register Globals". PHP Manual. PHP.net 
  304. "Magic Quotes". PHP Manual. PHP.net 
  305. "'engine' configuration directive". PHP: Runtime Configuration. PHP.net 
  306. "PHP Security Exploit With GIF Images". 2007-06-22 
  307. "PHP security exploit with GIF images". PHP Classes blog. 2007-06-20 
  308. "Passing Malicious PHP Through getimagesize()". 2007-06-04 
  309. "'enable_dl' configuration directive". PHP: Runtime Configuration. PHP.net 
  310. "PHP function reference: dl()". PHP.net 
  311. "My host won't fix their Trojan". WebHosting Talk 
  312. Raz0r (25 Ianuarii 2013). "Simple Machines Forum <= 2.0.3 Admin Password Reset" 
  313. Nibble Security. "TYPO3-SA-2010-020, TYPO3-SA-2010-022 EXPLAINED" 
  314. Криптостойкость и небезопасное сравнение. . ahack.ru 
  315. Krawczyk, Pawel (2013). "Most common attacks on web applications". IPSec.pl 
  316. Krawczyk, Pawel (2013). "So what are the "most critical" application flaws? On new OWASP Top 10". IPSec.pl 
  317. "PHP: Rand – Manual" 
  318. ,"PHP: Mt_rand - Manual" 
  319. "PHP: Random_int – Manual" 
  320. "PHP: RFC:release_cycle_update" 
  321. "PHP Support for PHP 7.2 – 8.0 | PHP LTS | Zend by Perforce" 
  322. 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

recensere
  Vicimedia Communia plura habent quae ad PHP spectant.