PHP

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

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, teleplanum regendum, 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. cum Rasmus Lerdorf lingua C aliquot programmata ad Interfaciem Portae Communis (CGI) scriberet, 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:

```html
Ohe, Netscape uteris!

  Miseremur, ea mentio non exstat

  Bene advenisti !
  Tibi  credita in computo manent.
```

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

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." Sodalitas molientium formari coepit, et postquam per plures menses laboratum est stadiumque beta tentatum, PHP/FI 2 rite edita est mense Novembri 1997.

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

### PHP 3 et 4 
[thumb|upright=0.8|Ecce exemplum programmatis ad [WordPress, systema ad res tractandas.]]
Zeev Suraski et Andreas Gutmans anno 1997 partitorem retractarunt fundamentumque PHP&nbsp;3 fecerunt, nomen linguae mutantes in acronymum recursivum *PHP: Hypertext Preprocessor* ("PHP: Praeparator Hypertextuum"). Tunc palam tentari PHP&nbsp;3 coepit et Iunio 1998 rite edita est. Postea Suraski et Gutmans funditus retractare nucleum PHP inceperunt, quo Ingenium Zendianum anno 1999 protulerunt. Idem Zend Technologies in Ramatgan civitatis Israël condiderunt.

### PHP 5 
Die 1 Iulii 2004 edita est PHP 5, quam movebat novum Ingenium Zend II. Post annum 2008, sola haec forma evolvebatur. Annexus stabilis serus, qui formis prioribus defuerat, PHP 5.3 additus est.

Multa clara incepta fontibus apertis linguae PHP&nbsp;4 in programmate novo a die 5 Februarii 2008 subsidium omiserunt, consociatione GoPHP5 ab evolutoribus PHP constituta et a PHP&nbsp;4 ad PHP&nbsp;5 transire suadente.

Interpretes linguae PHP plerisque systematibus internis 32 et 64 bitorum praebebantur, sive ex programmate fontano structi erant sive binaria praestructa usurpata erant. Formis PHP 5.3 et 5.4 in Microsoft Windows solae distributiones binariae praebitae sunt 32 bitorum machinae IA-32, 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.

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

### PHP 6 
Fama PHP vitiabatur quia Unicodicem sub nucleo linguistico ope sua non sustinebat. 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. 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.

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. Itaque forma PHP&nbsp;5.3 creata est anno 2009, multis virtutibus (Unicodice excepto) de PHP&nbsp;6 retroportatis. Inter has gravia sunt spatia nominalia. Martio 2010 inceptum rite destitutum est, et forma PHP&nbsp;5.4 parata est, qua pleraeque ceterae virtutes PHP&nbsp;6 comprehenderentur, inter alia qualitates et renexio clausurarum. Nova consilia de Unicodice accipiendo sperabantur sed ante annum 2014 non capta erant.

### PHP 7 
Per annos 2014 et 2015 effecta est nova PHP forma, et appellata PHP&nbsp;7; qui numerus controversiae fuit inter molitores internos. Cum tentamina de Unicodice sub nomine PHP&nbsp;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. Latis suffragiis, nomen PHP&nbsp;7 est lectum.

PHP&nbsp;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, et consilium fuit reformare Ingenium Zendianum ut opera linguae levarentur, sed consociabilitatem linguae paene integram servare. 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. 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.

Propter magna mutata interna in phpng, necesse erat ut inderetur numerus formae maioris, non editi minoris numeri PHP&nbsp;5, secundum consilium PHP de edendo.
* Subsidium modis traditis construendi, qualia in PHP&nbsp;4 exstabant, omissum est.
* Opera affirmationis `foreach` sic moderata sunt ut facilius providerentur.
* Constructrices earum paucarum classium in PHP, quae in nullum redibant post defectum, mutati sunt ut exceptionem iacerent, constantiae gratia.
* Quaedam SAPI et additra amota sunt de nucleo PHP, praecipue additrum traditum `mysql`.
* Operibus operatri `list()` mutatis, subsidium seriebus omissum est.
* Subsidium limitibus traditis consuetudine ASP `&lt;%`, `%&gt;`, et `&lt;script language="php"&gt; ... &lt;/script&gt;` omissum est.
* Incuriae, qua affirmatio switch plures voces `default` habere poterat, subventum est.
* Subsidium numeris sedecimalibus in quibusdam conversionibus ex seriebus in genera numeralia omissum est.
* Operatra translationum dextrorsum et sinistrorsum mutata sunt ut similius in variis suggestibus operarentur.

Lingua PHP&nbsp;7 etiam novas virtutes habebat. Insignissima sunt ad functiones pronuntiatio generum reditus illata - 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.

### PHP 8 
PHP&nbsp;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. Inter nova et insignia sunt haec:

#### Compilatrum in praesens 
Compilatro in praesens subsidium datur. sed dixit molitor (tunc pro PHP) Nicetas Popov plerisque sitibus interretialibus minus levaturum opera quam levavit ascensus ex PHP&nbsp;5 in PHP&nbsp;7. Hoc compilatrum facultatem facit aliquantum programmatis ex C in PHP traicere ob opera in quibusdam usibus levata.

#### Vox *match* 
In PHP 8 vox  illata est. Haec rationem vocis  similem habet et brevior est in nonnullis usibus. Eo quod  est vox, exitus eius variabili necti vel a functione reddi potest.

#### Genera mutata et addita 
PHP 8 genera unitiva, novum genus reditus  et novum genus  intulit.

Alia mutata minora sunt subsidium datum ut  obiectis adhibeatur tamquam ; ; ; et 
* Hereditas in methodis privatis Subsidium datum est ut genera enumerarentur, proprietates `readonly` esse nuntiarentur (quod mutare proprietatem post initum impedit), et ordines clavibus serialibus expedirentur. Novo genere *never* significari potest functionem non reddere.

#### PHP 8.2 
PHP 8.2 edita est die 8 Decembris, 2022. 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, facultas parametrorum impatientum abolendorum, permultaeque aliae virtutes.

### Tabula historica 
Adhibuit Sodalitas Molientium PHP a die 28 Iunii 2011 regulam temporibus novarum formarum linguae PHP edendarum. 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 
Animal tutelare rerum linguae PHP est *elePHPant* (per iocum ab *elephant* "elephas"), elephas caeruleus in latere signum PHP ferens.  Illum excogitavit Vincens Pontier anno 1998. "Litterae (scilicet PHP) formam elephanti, si a latere aspicerentur, efficiebant." Color quandoque alius est in bestiolis  mollibus ad imaginem *elePHPant* factis.

Multae et variae formae huius animalis per annos factae sunt. Eas solas sodalitas ut sinceras accipit, quae ad descriptionem originalem Vincentis Pontier factae sint. Hae sunt collectiles, et quaedam sunt rarissimae.

## Syntaxis 
Hoc programma ad mundi salutationem lingua PHP scriptum et documento HTML contentum est:

```html+php

    
        Salutatio mundi in PHP
    
    
        
    

```

Tamen, quia nihil necesse est programma PHP in HTML contineri, simplicior salutatio mundi sic scribi potest, omissa ligula terminativa 
```php
?>
```
 ut mos est in fasciculis quorum programma est mera PHP.

```php5

```
 ad terminandas. Brevior quoque exstat scriptio 
```php

```
, si in fasciculo XHTML aut aliorum generum XML adhibetur, mandatum recte scriptum in XML format. 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&nbsp;5 induxit *pronuntiationem generum*, qua functio parametra sua certae classis obiecta, ordines, interfacies, aut functiones revocabiles esse cogeret. Tamen ante PHP&nbsp;7 genera scalaria, e.g. integros vel series, pronuntiare non licebat. Versus novi in modum litterarum vacuarum tractantur, sicut in aliae linguae formae liberae. Affirmationes virgula punctata separantur. In syntaxi sunt tres formae animadversionis: 
```php
/* */
```
 animadversiones includunt, quae aut  molem efficiunt aut versui iniciuntur; 
```php
//
```
 aut 
```php
#
```
 animadversionibus unum versum explentibus adhibentur. Affirmatio `echo` est una ex pluribus facultatibus quibus lingua PHP textum reddere quit.

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

### Genera datorum 
Linguae PHP genera infirma sunt. Integri signati in aliis suggestibus aliis tractibus tenentur forma 32, 64, vel 128 bitorum, itidem ut in genere longo linguae C. In certis rebus integri non signati signum accipiunt, quod est multis aliis linguis computatralibus alienum. 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. 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++.

**Bibliotheca PHP Normalis** quaestiones communes solvere nititur classesque et interfacies ad data faciles praestat.

### Functiones 
Functiones multiplices nucleo linguae PHP definiuntur, multaeque in variis additris assunt. Hae omnes in interreti bene conscriptae sunt. 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&nbsp;4.0.1 `create_function()`, leve tegimen circum `eval()`, functiones vulgares PHP in exsecutione programmatis creare sinebat, sed destitutum est in PHP&nbsp;7.2 et ablatum in PHP&nbsp;8.0 ut inferretur syntaxis ad functiones sine nomine aut "clausuras", quae variabilia concipere ex spatio circumdato possunt; haec additae sunt in PHP&nbsp;5.3. Scriptio  brevis sagittarum addita est in PHP&nbsp;7.4:

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

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

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

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&nbsp;5.0, in ordinibus a PHP&nbsp;5.1, in "vocabilibus" a PHP&nbsp;5.4, et in generibus scalaribus (numeris integris, numeris mobilibus, seriebus et booleanis) a PHP&nbsp;7.0 datum est. 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&nbsp;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.

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

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. Obiecta eiusdem generis alterum ad alterius allegata accedere possunt, etsi non sunt idem exemplum.

#### Exemplum 
Hoc est exemplum rude programmaturae ad res directae in PHP&nbsp;8:

```php
nomen = ucfirst(strtolower($nomen));
    }

    public function saluta(): string
    {
        return "Salve! Nomen mihi 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 mihi est Aemilia, artem computatralem disco
Salve! Nomen mihi est Brutus, artem computatralem disco
Salve! Nomen mihi est Claudius, negotia disco
Magistri:
Salve! Nomen mihi est Domitius, artem computatralem, securitatem informaticam doceo
Salve! Nomen mihi est Epistropha, artem computatralem, programmaturam graphicam in tribus dimensionibus doceo
Salve! Nomen mihi est Festa, mercaturam interretialem, negotia, commercium electronicum doceo
```

## Mandata 
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. 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. Alius acervus numerorum operationum, qui passim usurpatur, est *Alternative PHP Cache* (APC), qui sub forma additri PECL praebetur.

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)&nbsp;– 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. Tamen Zendiana a forma 7.2 superavit HHVM, et ultima forma HHVM, quae subsidium PHP rite praebuit, erat HHVM&nbsp;3.24.
** HipHop&nbsp;– 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.
* Parrot&nbsp;– 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&nbsp;– PHP in codicem octetalem Linguae Mediae Communis .Net; antecessor PeachPie
* Quercus&nbsp;– PHP in notas octetales Java compilat.

## Licentia 
PHP est programmatura libera edita per Licentiam PHP, quae sic stipulatur:

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.

## Evolutio et socii 
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.

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), etiam vox facticia. Nonnullae potestates propriae linguae PHP - ut eae, quae series et ordines tractant - per additra quoque dantur. Bibliotheca Socialis Additrorum PHP (*PHP Extension Community Library, PECL*) est repositorium additrorum linguae PHP.

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.

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.

Zend Technologies evolutorum peritiam de PHP agnoscit, candidatis exploratis de PHP&nbsp;8.

### The PHP Foundation 
[thumb|[Logotypus organizationis *The PHP Foundation*.]]
Die 26 Novembris 2021, diarium JetBrains The PHP Foundation, quae res PHP gestura esset, creatam nuntiavit.

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.

Pleraeque sententiae de The PHP Foundation bonae fuerunt: melius subsidium linguae praebere, gratiae publicae cadenti subvenisse. Reprehensa est eo, quod in formis minoribus mutationes rumpentes fecit, ut in PHP&nbsp;8.2, si membra classis cum spatio prisco inibant, menda in depretiatione exstabant; talia WordPress et alia incepta fontium apertarum affecerunt.

*Sovereign Tech Fund* Germanum plus 200,000 *euro* ad PHP Foundation contulit.

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

PHP-FPM (*FastCGI Process Manager*) est alterum mandatum, quod cum distributione publica ipsius linguae a forma 5.3.3 colligatur. Virtutes aliquot habet praeter prius mandatum FastCGI, praecipue moderatris onustioribus utiles.

Ubi PHP ex iusso scripta programmantur, necesse est exsecutabile ad interfaciem per iussa (CLI) adhibere. PHP subsidium SAPI ad CLI a PHP&nbsp;4.3.0 habet. Haec SAPI praecipue ad applicationes per crustam spectat. Multa similia sed haud pauca dissimilia sunt inter SAPI ad CLI et alias SAPI.

PHP etiam ad applicationem scribendam per interfaciem ad usorem graphicam (GUI) usurpari potest per  aut additrum iam destitutum PHP-GTK.

Si PHP in nube datorum constituta est, impedimenta evolutionis programmaturae (SDK) cum virtutibus nubi adaptatis praebentur. Ita:
* Amazon Web Services AWS SDK ad PHP praebet.
* In Microsoft Azure, Windows Azure SDK ad PHP est utile.

Multi modi constituendi subsidium habent, qui et nucleum linguae et additra immutant. Fasciculus constitutivus `php.ini` in locis diversis secundum usum quaeritur, et in partes scinditur. Quaedam etiam una cum moderatro constitui possunt.

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

, linguis PHP et MySQL effectum]]
Cum primo tempore creata sit paginarum interretialium mobilium causa, nunc PHP maxime scriptis in moderatro destinatur. 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, 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. 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. Additra et linguae ipsi bibliothecas addunt et velocitatem exsequendi augent, si hoc est magni momenti et lingua vere compilata usui erit. 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.

Sunt quibus displiceat nucleum PHP subsidio filis multiplicibus carere, quamquam additro "pthreads" in PECL adhiberi possunt.

Interfacies per iussa, *php-cli*, et duo ingenia scriptoria in ActiveX Windows Script Host creata sunt.

### Gratia 
Systemata gestiva rerum interretialium solent PHP uti, e.g. MediaVici, WordPress, Joomla, Drupal, Moodle, eZ Publish, eZ Platform, et SilverStripe.

Anno 2013, plus 240&nbsp;milies mille situs interretiales (39 centesimae censorum) PHP utebantur, et in 2.1&nbsp;milies mille moderatris interretialibus constituta erat.

Die 21 Novembris 2024, cum PHP&nbsp;8.4 edita esset, in 75.4 centesimis situum, cuius linga decerni potuit, lingua programmandi in moderatro erat; forma PHP&nbsp;7 maxime usurpabatur, cum 49.1 centesimae situum, qui PHP utebantur, eam haberent, 37.9 centesimae PHP&nbsp;8, 12.9% centesimae PHP 5, et 0.1 centesimae PHP 4.

## Securitas 
Anno 2019, 11 centesimae omnium occasionum incurrendi, quae in Repositorio Gentili Occasionum Incurrendi conscribebantur, in PHP pendebantur; 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). 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.

Suhosin et Snuffleupagus, 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`; 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&nbsp;5.3.0, et sublatum in PHP&nbsp;5.4.0.

Alia occasio incursionis in constitionibus operariis apparet, si exsecutio PHP non debilitata est (e.g. regula constitutiva `engine`) in indice, ubi fasciculi remissi sunt. Habilitata enim potest programma malevolum in fasciculis remissis contentum exsequi. 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`) in moderatro communi securitati inutilis videtur.

Item conversio generum implicita, quae valores inaequales aequat, quandoque invito evolutore, mala trahere potest. Exempli gratia, comparatio  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 (), id est nullum. Tales errores occasiones scelerum per confirmationem dolosam in Simple Machines Forum, Typo3 et phpBB faciebant, cum hash tesserae MD5 compararentur. Consilium probatum est `hash_equals()` (contra incursiones temporales), `strcmp` aut operatro identitatis (`===`) - nam  reddit `false` ("falsa") - uti.

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

### Securitas cryptographica 
PHP continet functiones `rand()` et `mt_rand()` 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.

### Subsidium longum 
Collegium evolutorum linguae PHP rite menda corrigit per duos annos postquam formam minorem edidit, deinde per duos annos securitatem tantum corrigit. Postero temppre, editum vita defunctum habetur, nec subsidium rite obtinet.

Subsidium Extensum praeter illam finem Zend et aliae societates mercatoriae praestant

* Hypertextus
* MediaVici

## Notae 
## Bibliographia 
* 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 
* Situs interretialis PHP proprius, apud www.php.net.
* XAMPP: Collectio Apachis, ex MySQL, PHP.

Categoria:Abbreviationes
Categoria:Linguae programmationis