Jump to content

PHP

E Vicipaedia
-2 Latinitas huius rei dubia est. Corrige si potes. Vide {{latinitas}}.

PHP est lingua ad scripta programmanda sitibus interretialibus apta, syntaxi linguarum C et C++ similis, quae a Rasmo Lerdorf programmatore Danico-Canadensi anno 1994 excogitata, anno 1995 edita est.[1] Instructio exemplaris PHP nunc a PHP Group efficitur.[2] Nomen PHP olim acronymum fuit personal home page (Anglice; "pagina principalis personae");[1][3] nunc autem acronymum recursivum factum est verborum PHP: hypertext reprocessor ("PHP: praeparator hypertextuum").[4]

Programma PHP in moderatro interretiali legere solet interpres forma additri, daemonis aut exsecutabilis common gateway interface (CGI) instructus. In moderatro interretiale, programma PHP interpretatum exsecutumque responsum HTTP aut huius partem edit, quod ex omnimodis datis, ut sunt e.g. HTML generatum vel data pictoria binaria, exsistere potest. Sunt plura systemata formularia interretialia, systemata ad res tractandas, et compages interretiales, quibus responsum ordinatur aut adiuvetur. Extra quoque interrete ad rem graphicam solam tractandam,[5] teleplanum regendum,[6] et ad multas alias res programmandas PHP utilis est. Etiam facultas est programma PHP directe ex iusso exsequi.

Programmatis PHP interpres solitus est programmatura libera edita sub Licentia PHP, quae ab Ingenio Zendiano movetur. PHP passim portatur et in plerisque moderatris interretialibus, variis systematibus internis, et suggestibus explicari potest.[7]

Lingua PHP evoluta est sine norma aut designatione formali, instructione prima munere normae de facto functa, quam aliae instructiones sequi nisae sunt.

W3Techs rettulit die 23 Maii 2024 (sex mensibus post PHP 8.3 editam) ea 76.2 centesimis omnium situum interretialium uti, quorum lingua cognosci potuit. Horum 55.1 centesimae PHP 7 utebantur, quam obsoletam et insecuram esse constat.[8][9]

Historia prisca

[recensere | fontem recensere]

Principium PHP anno 1993 factum est,[10] cum Rasmus Lerdorf lingua C aliquot programmata ad Interfaciem Portae Communis (CGI) scriberet,[11][12] quibus situm personalem suum sustineret. Haec deinde auxit ut cum formulis interretialibus ageret et cum repositoriis datorum communicaret, quam instructionem Personal Home Page / Forms Interpreter ("Pagina Principalis Personae / Interpres Formularum") vel PHP/FI appellavit.

Hoc est exemplum syntaxis veteris PHP:[13]

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--if substr $exec_result Mozilla-->
  Ohe, Netscape uteris!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Miseremur, ea mentio non exstat<p>
<!--endif exit-->
  Bene advenisti <!--$user-->!<p>
  Tibi <!--$index:0--> credita in computo manent.<p>

<!--include /text/footer.html-->

PHP/FI erat utilis ad paginas dynamicas et simplices struendas. Ut menda celerius indicarentur programmaque melius fieret, Lerdorf primum PHP/FI editam esse die 8 Iunii 1995 in collocutione Usenet comp.infosystems.www.authoring.cgi nuntiavit sub nomine Personal Home Page Tools (PHP Tools) version 1.0 "Instrumenta Paginis Principalibus Personarum (Instrumenta PHP), forma 1.0".[14][15] Quae editio facultates communes, ut variabilia modi Perl, formulas tractare, et HTML continere, habebat. Syntaxis PHP iam sic mutata erat ut similis esset Perl; erat quidem simplicior, minus potens, minusque constans.[16][17][18]

PHP primo tempore haud ad linguae programmandi munus destinabatur; potius per se crescebat. Lerdorf postea haec memoravit: "Eam sistere nescio [. . .] numquam fuit consilium linguam programmandi scribere [. . .] Linguam programmandi scribere minime scirem. [. . .] Modo gradum ratione proximum addere pergebam."[19] Sodalitas molientium formari coepit, et postquam per plures menses laboratum esset stadiumque beta tentatum esset, PHP/FI 2 rite edita est mense Novembri 1997.[20]

Eo, quod PHP non ab origine excogitata est sed per se crescit, nomina functionum et ordo illarum parametrorum sunt inconstantia.[21] Quaedam nomina functionum bibliothecis inferioribus, quas PHP "volvebat", adaequata sunt,[22] et in quibusdam formis veterrimis linguae, cum longitudo nominis interne ut functio hash usurparetur, nomina ita fingebantur ut numeri hash optime distribuerentur.[23]

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 Hypertextus").[18][24] Tunc palam tentari PHP 3 coepit et Iunio 1998 rite edita est. Postea Suraski et Gutmans funditus retractare nucleum PHP inceperunt, quo Ingenium Zendianum anno protulerunt.[25] Idem Zend Technologies in Ramatgan civitatis Israël condiderunt.[18]

Die 22 Maii 2000 edita est PHP 4, quam Ingenium Zend 1.0 moverat.[18] Haec ante mensem Augustum 2008 ad formam 4.4.9 progressa est.[26][27]

Die 1 Iulii 2004 edita est PHP 5, quam movebat novum Ingenium Zend II.[18] Haec virtutes novas ferebat, ut programmaturam ad res directam, auctum PHP Data Objects (PDO, "Res Data PHP") appellatum (quod levem et constantem interfaciem, qua repositoria datorum adeantur, definit), multaque alia, quibus opera emendarentur.[28] Post annum 2008, sola haec forma evolvebatur. Annexus stabilis serus, qui formis prioribus defuerat, PHP 5.3 additus est.[29][30]

Multa clara incepta fontibus apertis PHP 4 programmati novo a die 5 Februarii 2008 subsidium omiserunt, consociatione GoPHP5[31] ab evolutoribus PHP constituta et a PHP 4 ad PHP 5 transire suadente.[32][33]

Interpretes linguae PHP plerisque systematibus internis 32 et 64 bitorum praebebantur, sive ex programmate fontano structi erant sive binaria praestructa usurpata erant.[34] Formis PHP 5.3 et 5.4 in Microsoft Windows solae distributiones binariae praebitae sunt 32 bitorum machinae IA-32,[35][36] quae modum consociabilem postulabant dum Internet Information Services (IIS) in suggestu Windows 64 bitorum agitur. Forma PHP 5.5 machinae 64 bitorum x86-64 praeberi in Microsoft Windows potuerunt.[37]

Securitati formae PHP 5.6 subsidium omissum est die 31 Decembris 2018.[38]

Fama PHP vitiabatur quia Unicodicem sub nucleo linguistico ope sua non sustinebat.[39][40] Anno 2005 Andrea Zmievski duce propositum est ut facultas Unicodicis per totam PHP inferretur imponenda bibliotheca Elementorum Gentilium Unicodicis (ICU) lineisque textus interne per UTF-16 exprimendis.[41] Haec, cum et interna linguae et programma usorum magnopere mutatura essent, mens erat in linguae forma 6.0 edere cum aliis magnis virtutibus quae tunc evolvebantur.[42]

Tamen, paucis evolutoribus mutanda intellegentibus operibusque programmatis impeditis convertendo in UTF-16 aut ex UTF-16, quod in rebus interretialibus homines uti non solent, proposita tardabantur.[43] Itaque forma PHP 5.3 creata est anno 2009, multis virtutibus (Unicodice excepto) de PHP 6 retroportatis. Inter has gravia sunt spatia nominalia. Martio 2010, inceptum rite destitutum est, et forma PHP 5.4 parata est, qua pleraeque ceterae virtutes PHP 6 comprehenderentur, inter alia qualitates et renexio clausurarum.[44] Nova consilia de Unicodice accipiendo sperabantur sed ante annum 2014 non capta erant.

Per annos 2014 et 2015 effecta est nova PHP forma, et appellata PHP 7; qui numerus controversiae fuit inter molitores internos.[45] Cum tentamina de Unicodice sub nomine PHP 6 numquam edita essent, tamen nonnulli articulorum et librorum tituli hoc vocabulo usi erant, quod res turbaturum esse videbatur si novo edito idem nomen daretur.[46] Latis suffragiis, nomen PHP 7 est lectum.[47]

PHP 7 fundamentum est ramus linguae, quae primum PHP next generation seu phpng (PHP aevi proximi) dicebatur. Huic auctores fuerunt Demetrius Stogov, Xinchen Hui, et Nicetas Popov,[48] et consilium fuit reformare Ingenium Zendianum ut opera linguae levarentur, sed consociabilitatem linguae paene integram servare.[49] Iam ante diem 14 Iulii 2014, mensurae per WordPress (quae mensurae praecipuae propositi phpng semper fuerunt) opera paene centum centesimis meliora indicabant. Mutata in phpng sic facta sunt ut opera formarum futurarum meliora reddere facilius fieret, cum structurae datorum magis compactae et alia mutata aptiora videantur esse si migrare ad compilatrum in praesens.[50] Ob mutata non parva, Ingenio Zendiano refecto numerus "Ingenium Zend 3" inditus est, cum post Ingenium Zend 2, quo in PHP 5 usi erant, sequeretur.[51]

Propter magna mutata interna in phpng, necesse erat ut inderetur numerus formae maioris, non editi minoris numeri PHP 5, secundum consilium PHP de edendo.[52] Cum formis maioribus PHP rumpere consociabilitatem retrorsus programmatis liceret, PHP 7 occasionem faciebat aliorum quoque profectuum, qui consociabilitatem rumpebant, inter quos hi memorentur:

  • Multis traditis modis erroris, seu fatalibus seu sanabilibus, exceptiones sunt suppositae, quae moderna consuetudine ad res diriguntur.[53]
  • Syntaxis, qua relatio variabilis omittebatur, ita refecta est ut operatra ->, [], (),{}, et :: cum quibuslibet litteris sinistro latere adhiberi possent.[54]
  • Subsidium modis traditis construendi, qualia in PHP 4 exstabant, omissum est.[55]
  • Opera affirmationis foreach sic moderata sunt ut facilius providerentur.[56]
  • Constructrices earum paucarum classium in PHP, quae in nullum redibant post defectum, mutati sunt ut exceptionem iacerent, constantiae gratia.[57]
  • Quaedam SAPI et aucta amota sunt de nucleo PHP core, praecipue auctum traditum mysql.[58]
  • Operibus operatri list() mutatis, subsidium seriebus omissum est.[59]
  • Subsidium limitibus traditis consuetudine ASP <%, %>, et <script language="php"> ... </script> omissum est.[60]
  • Incuriae, qua affirmatio switch plures voces default habere poterat, subventum est.[61]
  • Subsidium numeris sedecimalibus in quibusdam conversionibus ex seriebus in genera numeralia omissum est.[62]
  • Operatra translationum dextrorsum et sinistrorsum mutata sunt ut similius in variis suggestibus operarentur.[63]
  • Conversiones inter numeros cum puncto mobili et integros mutatae (e.g. infinitum ut in zerum converteretur) et constantius per varios suggestus instructae sunt.[63][64]

Lingua PHP 7 etiam novas virtutes habebat. Insignissima sunt ad functiones pronuntiatio generum reditus illata[65] - quod est complementum pronuntiationi generum parametrorum, quae iam extabat - et subsidium generibus scalaribus (integris, mobilibus, serialibus, et booleanis) in pronuntiatione generum parametrorum et reditus datum.[66]

PHP 8 edita est die 26 Novembris 2020, et nunc est secunda maxime usitata forma PHP. Quia est forma maior, mutata rumpentia de formis prioribus habet.[67][68] Inter nova et insignia sunt haec:

Compilatrum in praesens

[recensere | fontem recensere]

Compilatro in praesens subsidium datur.[69] Quod opera valde levare potest in quibusdam usibus,[70][71] sed dixit evolutor (tunc pro PHP) Nicetas Popov plerisque situum interretialium minus levaturum opera quam levavit ascensus ex PHP 5 in PHP 7.[72] Opinio est compilatrum valde levaturum potius opera mathematica quam usus communes interretiales.[72] Hoc compilatrum facultatem facit aliquantum programmatis ex C in PHP movendi ob opera in quibusdam usibus levata.[73]

In PHP 8 vox match illata est.[74] Haec rationem vocis switch similem habet et brevior est in nonnullis usibus.[75] Eo quod match est vox, exitus eius variabili necti vel a functione reddi potest.[76]

Genera mutata et addita

[recensere | fontem recensere]

PHP 8 genera unitiva, novum genus reditus static et novum genus mixed intulit.[67]

"Attributa", quae in aliis linguis programmandi "annotationes" saepe appellantur, addita sunt in PHP 8, quo metadata classibus addi possunt.[67]

throw ex affirmatione in vocem mutata est,[77] quo exceptiones iaci possunt in locis, ubi prius non poterant.[67]

Syntaxis mutata aut addita

[recensere | fontem recensere]

Quaedam in PHP 8 mutata sunt ut alia, brevior, aut magis constans syntaxis in rebus diversis sineretur. Exempli gratia, operatrum nullsafe est similis operatri null coalescing ??, sed ad methodum vocandum usurpatur.[78] Hoc programma errorem non iaciet si getBirthday() nullum reddat:

$human_readable_date = $user->getBirthday()?->diffForHumans();

In "saccharum syntacticum" addita est promotio proprietatum, id est ut proprietates classis sponte figerentur cum parametra in constructricem classis traderentur,[67] quominus necesse esset programma commune scribere.[79]

Alia mutata minora sunt subsidium datum ut ::class obiectis adhibeatur tamquam get_class();[67] captiones non concipientes in molibus "tempta-cape"; syntaxis paulum immutata ut magis secum constaret; subsidium argumentis nominatis; subsidium commatibus finalibus in indicibus parametrorum, quod magis concors est cum subsidio commatibus finalibus in ordinibus et in aliis contextibus.[68]

Bibliotheca normalis mutata et aucta

[recensere | fontem recensere]
  • Chartae infirmae WeakMap additae sunt, quae relationes ad obiecta continent, tamen non obstant quominus tamquam quisquilias auferantur.[80] Quod opera levare potest, si data acervantur; hoc est aptissimum connexioni rerum et relationum.[67]
  • Interfacies diverse accommodatae sunt, ut subsidium obiectis DateTime ex interfaciebus creandis datum, et addita 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]
  • 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 | fontem recensere]
Forma Editionis dies Subsidium usque ad[87] Notae
1.0 8 Iunii 1995 Nominata Personal Home Page Tools (PHP Tools). Usus primus nominis '"PHP".[18]
2.0 1 Novembris 1997 Nominata PHP/FI 2.0. Haec prima est forma digna nomine PHP, lingua sui iuris, cuius virtutum multae adhuc manent.
3.0 6 Iunii 1998 20 Octobris 2000 Labor evolvendi ab uno homine ad multos translatus. Basis refecerunt Zeev Suraski et Andreas Gutmans.[18]
4.0 22 Maii 2000[88] 23 Iunii 2001 Additum melius systema ad ligulas tractandas, quod primum partiretur tantum, deinde exsequeretur, et appellatum Ingenium Zendianum.[89]
4.1 10 Decembris 2001[90] 12 Martii 2002 Illata "superglobalia" ($_GET, $_POST, $_SESSION, etc.)[89]
4.2 22 Aprilis 2002[91] 6 Septembris 2003 Debilitatum register_globals nisi requisitum esset, ne data per rete recepta directe in spatium nominale globale insererentur. Sic rimae in securitate applicationum clausae.[89]
4.3 27 Decembris 2002[92] 31 Martii 2005 Illata interfacies per iussa in supplementum CGI.[89][93]
4.4 11 Iulii 2004[94] 5 Septembris 2005 Subventum mendo, quod memoriam corrumpebat. Ad hoc necesse fuit consociabilitatem binariam cum auctis compilatis contra PHP 4.3.x.[95]
5.0 13 Iulii 2004[96] 7 Augusti 2008 Ingenium Zendianum II cum nova ratione rerum.[97]
5.1 24 Novembris 2005[98] 24 Augusti 2006 Levata opera variabilibus compilatriis illatis in Ingenium Zendianum reformatum.[97] Addita interfacies constans PHP Data Objects (PDO) qua repositoria datorum adirentur.[99]
5.2 2 Novembris 2006[100] 6 Ianuarii 2011 Habilitatum auctum coli nisi deprecatum esset. Subsidium nativum JSON.[97]
5.3 30 Iunii 2009[101] 4 Augusti 2014 Subsidium spatiis nominalibus; annexus stabilis serus; jump label (goto intra fines); functiones anonymae; clausurae,; PHP archives (phar); ablatio quisquiliarum relationibus circularibus; subsidium Windows; sqlite3; mysqlnd in locum libmysql suppositum ut esset bibliotheca substructa auctis, quae MySQL utuntur; fileinfo in locum mime_magic suppositum ut plus subsidii MIME haberet; auctum ad gentes; et omissum auctum ereg.
5.4 1 Martii 2012[102] 3 Septembris 2015 Subsidium characteribus, subsidium syntaxi ordinum brevium. Amota: register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister() et session_is_registered(). Moderatrum interretiale inaedificatum.[103] Aliquot priores virtutes emendatae, opera levata, minus memoriae requirebatur.
5.5 20 Iunii 2013[104] 10 Iulii 2016 Subsidium generatris, moles finally ad exceptiones tractandas, OpCache (in Zend Optimizer+ fundatum) colligatum cum distributione publica.[105]
5.6 28 Augusti 2014[106] 10 Iulii 2018 Voces scalares constantes, functiones variadicae, expeditio argumentorum, novum operatrum exponendi, aucta affirmationis use ad functiones et constantia, novum emendatrum phpdbg forma moduli SAPI, alia minora emendata.[107]
6.x Non edita - Forma destituta linguae PHP qua subsidium Unicodici addendum erat.[108][109]
7.0 3 Decembris 2015[110] 10 Ianuarii 2019 Ingenium Zendianum 3 (levata opera[50] et subsidium integris 64-bitorum in Windows[111]), syntaxis variabilium uniformis,[54] compilatrum arboribus syntacticis abstractis operans,[112] additum Closure::call(),[113] translatio bitorum constans per suggestus,[114] operatrum ?? (null coalesce),[115] syntaxis fugarum in punctis Unicodicis,[116] pronuntiatio generum reditus, [65] pronuntiatio generum scalarium (integrorum, mobilium, serialium et booleanorum),[66] operatrum <=> (spaceship) comparationis ternariae,[117] delegatio generatrorum,[118] classes anonymae,[119] API generatri numerorum fortuitorum cryptographice securi simplicior et constantius praesens,[120] multis remanentibus "erroribus" internis linguae exceptiones suppositae,[53] syntaxis abbreviata qua plura nomina ex spatio nominali simul importarentur.[121]
7.1 1 Decembris 2016 1 Decembris 2019 Genus iterable,[122] genera nullabilia,[123] genus reditus void,[124] moderamina visibilitatis constantia per classes,[125] syntaxis ad indices breves,[126] multi-catch.[127]
7.2 30 Novembris 2017 30 Novembris 2020 Pronuntiatio parametrorum rerum et generum reditus,[128] auctum libsodium,[129] praepositio abstracta methodorum,[130] prolatio generum parametrorum[131]
7.3 6 Decembris 2018[132] 6 Decembris 2021 Syntaxis mutabilis ad Heredoc et Nowdoc,[133] subsidium nexui relationum et destructioni ordinum per list(),[134] subsidium PCRE2,[135] functio hrtime[136]
7.4 28 Novembris 2019[137] 28 Novembris 2022 Characteres generici 2.0,[138] praeoneratio,[139] operatrum nexuum null-coalescing,[140] emendatum openssl_random_pseudo_bytes,[141] relationes infirmae,[80] interfacies ad functiones alienas,[142] auctum hash semper praesto,[143] regestrum hash tesserarum,[144] dispertitio serierum multis octetis,[145] repercussus relationum,[146] resolutum ext/wddx,[147] nova ratio rerum ad voluntatem serie numerandarum.[148]
8.0 26 Novembris 2020[149] 26 Novembris 2023 Compilatrum in praesens,[69] ordines ab indice negativo ordinati,[150] semantica strictior saniorque (validatio methodorum characterum abstractorum)[151] sanior serierum cum numeris comparatio,[152] saniores series numerales,[153] TypeError in vitiosis operatris arithmeticis seu per bitos,[154] in novas classes transpositi quidem errores ingenii,[155] errores de generibus constantes in functionibus internis,[156] error fatalis si subscriptiones methodorum sunt discordes[157]), conversio mobilium in series locis soluta,[158] mutata minora in syntaxi,[159] attributa,[160][161][162][163] argumenta nominata,[164] vox match,[165] promotio proprietatum in constructricibus,[166] genera coniunctiva,[167] genus mixed,[168] genus static return,[169] operatrum nullsafe,[78] captiones non concipientes,[170] vox throw,[77] auctum JSON semper praesto.[171]
8.1 25 Novembris 2021[172] 31 Decembris 2025 Scriptio litteralis explicata integrorum octalium,[173] enumerations,[174] proprietates immutabiles,[175] syntaxis vocabilis primae classis,[176] new in initiatris,[177] genera intersectiva pura,[178] genus reditus never,[179] coercitiones classium final,[180] fibrae.[181]
8.2 8 Decembris 2022[182] 31 Decembris 2026 Classes immutabiles,[183] genera null, false, true sui iuris facti,[184][185] conversio notarum litterarum locis soluta,[186] genera formalia normalia disiunctiva,[187] constantia in characteribus.[188]
8.3 23 Novembris 2023[189] 31 Decembris 2027 Constantia classium generica,[190] allatio dynamica constantium classium,[191] attributum #[\Override],[192] duplicatio profunda proprietatum immutabilium,[193] nova functio json_validate,[194] addita rationi fortuitorum,[195] detersor ad iussa subsidium fasciculis multiplicibus praebet.
8.4 21 Novembris 2024[196] 31 Decembris 2028

Adhibuit Sodalitas Molientium PHP a die 28 Iunii 2011 regulam temporibus novarum formarum linguae PHP edendarum.[52] In hoc systemate forma una, aut plures, omni mense edenda est; omni anno uni formae minori novas virtutes inducere licet. Omni formae subsidium per duos annos de mendis et de securitate, per unum aut plures de securitate tantum; ergo summa processus omnis formae minoris tres annos consumit, in quibus nulla virtus nova nisi minima et se ipsa contenta induci debet.

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]

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 ut programma PHP in HTML contineatur, simplicior salutatio mundi sic scribi potest, omissa ligula terminativa ?> ut mos est in fasciculis quorum programma est mera PHP.[203]

<?php echo 'Salve, Munde!';

Interpres PHP ea sola exsequitur, quae intra limitationes sint. Extra limitationes seponuntur quae non lingua PHP scripta sint, ut programma JavaScript vel annotatio HTML,[204] ne ea PHP tractet. Etiam hic textus est subiectus structuris rectricibus programmate PHP descriptis. Delimitationes usitatissimae sunt <?php ad partes in PHP inducendas et ?> ad terminandas. Brevior quoque exstat scriptio <?; obstat quidem quominus fasciculi scriptorum portentur, cum subsidium debilitari in constitutione singulari linguae possit, ideoque dissuadetur.[205][206] Contra autem ligulam echo breviorem <?= nulla sententia est data.[207] Haec syntaxis usque ad PHP 5.4.0 valebat solum si constitutio short_open_tag habilitata erat, sed a forma PHP 5.4.0 praesto semper est.[208][209][205] Igitur simplicissimum programma ad mundi salutationem lingua PHP scribitur:

<?='Salve, Munde!';

Prima vero forma limitationis, scilicet <?php et ?>, si in fasciculo XHTML aut aliorum generum XML adhibetur, mandatum recte scriptum in XML format.[210] Ergo ipsum programma commixtum e PHP aliisque annotationibus in fasciculo, quem moderatrum possidet, est XML recte scriptum.

Variabilibus praefigitur sigillum $, nec praescribendus est genus. PHP 5 induxit pronuntiationem generum, qua functio parametra sua certae classis obiecta, ordines, interfacies, aut functiones revocabiles esse cogeret. Ante PHP 7, quidem genera scalaria, e.g. integros vel series, pronuntiare non licebat.[66]

In exemplo infra scripto demonstratur quomodo variabilia in PHP pronuntientur ineantque.

<?php
    $nomen = 'Aemilius';  // variabile genere series pronuntiatur initque
    $anni = 18;       // variabile genere integer pronuntiatur initque
    $altitudo = 5.3;   // variabile genere duplex pronuntiatur initque
    echo $nomen . ' est ' . $altitudo . "m altus\n"; // variabilia cum serie conseruntur
    echo "$nomen $anni annos natus est."; // series variabilibus interpolatur
?>

Notam litterarum non sentiunt nomina functionum et classium, sentiunt tamen nomina variabilium. Series heredoc aut virgulis duplis inclusae ("") valore variabilis interpolari possunt.[211] Versus novi in modum litterarum vacuarum tractantur, sicut in aliae linguae formae liberae. Affirmationes virgula punctata separantur.[212] In syntaxi sunt tres formae animadversionis: /* */ animadversiones includunt, quae aut molem efficiunt aut versui iniciuntur; // aut # animadversionibus unum versum explentibus adhibentur.[213] Affirmatio echo est una ex pluribus facultatibus quibus lingua PHP textum reddere quit.

Verbis cardinalibus formaque syntaxis PHP est lingua similis C. Condiciones if laquei reditusque functionum for et while sunt similes ac in C, C++, C#, Java et Perl.

Genera datorum

[recensere | fontem recensere]

Linguae PHP genera infirma sunt. Integri signati in aliis suggestibus aliis tractibus tenentur, forma itidem ut in genere longo linguae C. In certis rebus integri non signati signum accipiunt, quod est multis aliis linguis computatralibus alienum.[214] Variabilia integra in nectendo notis decimalibus (seu positiva seu negativa), octalibus, sedecimalibus, aut binariis.

Etiam numeris puncto mobili scriptis tractus secundum suggestum variat. Hi notantur aut recte cum puncto mobili aut duobus modis notationis scientificae.[215] PHP genus Booleanum habet proprium et simile generibus Booleanis, quae sunt propria Java et C++. Regula in genere Booleano convertendo est zerum falsum, omnia alia verum significare, sicut in Perl et C++.[215]

Genus datorum, quod nullum dicitur, variabile notat, cui nullus valor est; nullum valorem esse significant litterae NULL.[215]

Variabilia, quae genere "opes" appellantur, ad opes externas referunt. Hae solent a functionibus alicuius aucti creari, et solum ab eiusdem aucti functionibus tractari posse; exempla opum sunt fasciculi, imagines, et repositoria datorum.[215]

Ordines elementa omnis generis in lingua PHP tractabilis continere possunt, e.g. opes, obiecta, necnon alios ordines. Consecutio elementorum in indicibus valorum et in hash, quae et claves et valores continent; hi etiam commisceri possunt.[215] Series quoque subsidium habent, et cum virgulis simplicibus aut duplis, nowdoc aut heredoc adhiberi possunt.[216]

Bibliotheca PHP Normalis quaestiones communes solvere nititur classesque et interfacies ad data faciles praestat.[217]

Functiones multiplices nucleo linguae PHP definiuntur, multaeque in variis auctis assunt. Hae omnes in interreti bene conscriptae sunt.PHP documentation[218] Bibliotheca autem inaedificata valde diversas rationes functionum nominandarum aliaque inconstantia connexa habet, ut sectio de historia supra dicit.

Evolutori ipsi functiones novas fingere licet:

function annosNatus(int $natusAnno): string
{
    // Annos vitae computa anno nativitatis de anno, qui nunc est, subtrahendo.
    $annosNatus = date('Y') - $natusAnno;

    // Redde annos vitae in serie descriptiva.
    return $annosNatus . ($annosNatus == 1 ? ' annum' : ' annos');
}

echo 'Nunc ' . annosNatus(1995) . ' natus sum.';

Anno 2024 programma, quod supra in exemplum adhibetur, reddit sententiam "Nunc 29 annos natus sum."

Ad functionem in PHP referre potest series eius nomen continens, vice indicatoris functionis. Ita functiones vulgares linguae munere revocabilium fungi aut intra tabulam functionum poni.[219] Functio ab usore definiri semper licet sine ullo prototypo.[218][219] Etiam intra molem programmatis definiri possunt, ut in operando cernatur an definienda sit. Est quoque quaedam functio function_exists, quae cernit an ulla functio cum nomine quolibet definita sit. Vocationem functiones per parentheses fieri necesse est, parentheses, exceptis functionibus constructricibus, quae nullum argumentum habeant et operatro PHP proprio new vocentur; ad has optio est an parentheses scribantur.

A PHP 4.0.1 create_function(), leve tegimen circum eval(), functiones vulgares PHP in exsecutione programmatis creare sinebat, sed destitutum est in PHP 7.2 et ablatum in PHP 8.0[220] ut inferretur syntaxis ad functiones sine nomine aut "clausuras"[221] quae variabilia concipere ex spatio circumdato possunt; haec additae sunt in PHP 5.3. Scriptio brevis sagittarum addita est in PHP 7.4:[222]

function getAdder($x) {
    return fn($y) => $x + $y;
}

$adder = getAdder(8);
echo $adder(2);  // "10" scribit

In exemplo supra scripto, functio getAdder() argumento tradito $x utitur ut clausuram faciat, quae alterum argumentum $y accipit, redditque vocatori clausuram factam. Talis functio cum obiectum primae classis sit, in variabili deponi, tradi ut alterius functionis parametrum sit, etc. potest.[223]

In PHP subsidium datur ut genera in parametris functionum pronuntientur, quod in linguis generum mobilium fieri non solet. Hoc subsidium in classibus et interfaciebus a PHP 5.0, in ordinibus a PHP 5.1, in "vocabilibus" a PHP 5.4, et in generibus scalaribus (numeris integris, numeris mobilibus, seriebus et booleanis) a PHP 7.0 datum est.[66] Datum quoque est in PHP 7.0 ut genera reditus functionis pronuntientur; quod fit nomine generis post indicem parametrorum posito et ab eo per bipunctum discreto.[65] Exempli gratia, functio getAdder prioris exempli generibus sic annotari in PHP 7 potest:

function getAdder(int $x): Closure
{
    return fn(int $y): int => $x + $y;
}

$adder = getAdder(8);
echo $adder(2); // "10" scribit
echo $adder(null); // Exceptionem iacit quia genus mendosum traditum est
$adder = getAdder([]); // Hoc quoque exceptionem iaceret

Pronuntiatio generum scalarium, nisi aliud postulatur, secundum regulas generum debilium fit. Si igitur genus parametri sit int, PHP non solum integros sed etiam series convertibiles, numeros mobiles, aut Booleana ad functionem tradere sinet et convertet.[66] Tamen PHP 7 alterum modum habet, qui "genera stricta" appellatur, et si usurpatus est, tales conversiones in vocatione functionum et reditibus intra fasciculum vetat.[66]

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.

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

Inhabile est, quod PHP rogatibus singulis scripta exsequitur et interpretis officio fungitur, itaque plures res excogitatae sunt quae iuvent. Ut programma fontanum celerius exsequatur, nec toties compilare debeat, quoties quis ad paginam interretialem accesserit, scripta PHP in lingua interna ingenii explicari possunt acervo numerorum operationum, ubi acervatur forma compilata scripti PHP (quae ex numeris operationum constat) in memoria communi ne prodige ingenium partiri et compilare debeat, quoties scriptum operetur. Acervus numerorum operationum, Zend Opcache, in PHP a forma 5.5 inaedificatus est.[230] Alius acervus numerorum operationum, qui passim usurpatur, est Alternative PHP Cache (APC), qui sub forma aucti PECL praebetur.[231]

PHP est quarta post Java, C, et Visual Basic. Lingua gratissima apud servos interretiales Apaches est.

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. Lapsus in citando: Invalid <ref> tag; no text was provided for refs named O'Reilly-2001
  8. PHP: Unsupported Branches. . www.php.net .
  9. Lapsus in citando: Invalid <ref> tag; no text was provided for refs named W3Techs – World Wide Web Technology Surveys.
  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. Formula:Cite newsgroup.
  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. Formula:Cite newsgroup.
  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. Formula:Cite mailing list.
  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. Formula:Cite mailing list.
  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 

Bibliographia

[recensere | fontem recensere]
  • Ford, Paul. 2015. "What's the Absolute Minimum I Must Know About PHP?" What is Code? Bloomberg Businessweek, 11 Iunii 2015. Editio interretialis.

Nexus externi

[recensere | fontem recensere]
Vicimedia Communia plura habent quae ad PHP spectant.