<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/history.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'history.php.php',
    1 => 'Storia di PHP',
    2 => 'Storia di PHP',
  ),
  'up' => 
  array (
    0 => 'history.php',
    1 => 'Storia di PHP e Progetti Correlati',
  ),
  'prev' => 
  array (
    0 => 'history.php',
    1 => 'Storia di PHP e Progetti Correlati',
  ),
  'next' => 
  array (
    0 => 'history.php.related.php',
    1 => 'Storia dei progetti correlati a PHP',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'it',
    'path' => 'appendices/history.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="history.php" class="sect1">
  <h2 class="title">Storia di PHP</h2>

  <div class="sect2" id="history.phpfi">
   <h3 class="title">PHP Tools, FI, Construction Kit e PHP/FI</h3>
   <p class="para">
    PHP come è conosciuto oggi è in realtà il successore di un
    prodotto chiamato PHP/FI. Creato nel 1994 da Rasmus Lerdorf,
    la primissima incarnazione di PHP era un semplice insieme di
    binari Common Gateway Interface (CGI) scritti nel linguaggio
    di programmazione C. Originariamente usato per tracciare le visite
    al suo curriculum online, chiamò la suite di script &quot;Personal
    Home Page Tools&quot;, più frequentemente riferito come &quot;PHP Tools&quot;.
    Col tempo, fu desiderata più funzionalità, e Rasmus riscrisse
    PHP Tools, producendo un&#039;implementazione molto più grande e ricca.
    Questo nuovo modello era capace di interazione con database e altro,
    fornendo un framework sul quale gli utenti potevano sviluppare semplici
    applicazioni web dinamiche come guestbook. Nel giugno 1995, Rasmus
    <a href="http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133" class="link external">&raquo;&nbsp;rilasciò</a>
    il codice sorgente di PHP Tools al pubblico, il che permise
    agli sviluppatori di usarlo come ritenevano opportuno. Questo permise anche -
    e incoraggiò - gli utenti a fornire correzioni per bug nel codice,
    e a migliorarlo in generale.
   </p>
   <p class="para">
    Nel settembre di quell&#039;anno, Rasmus espanse PHP e - per un
    breve periodo - abbandonò effettivamente il nome PHP. Ora riferendosi agli
    strumenti come FI (abbreviazione di &quot;Forms Interpreter&quot;), la nuova implementazione
    includeva alcune delle funzionalità di base di PHP come lo conosciamo
    oggi. Aveva variabili simili a Perl, interpretazione automatica
    delle variabili dei form, e sintassi incorporata in HTML. La sintassi stessa
    era simile a quella di Perl, anche se molto più limitata, semplice,
    e un po&#039; incoerente. Infatti, per incorporare il codice in un
    file HTML, gli sviluppatori dovevano usare commenti HTML. Sebbene questo
    metodo non fu del tutto ben accolto, FI continuò a godere di crescita
    e accettazione come strumento CGI --- ma ancora non proprio come un linguaggio.
    Tuttavia, questo iniziò a cambiare il mese seguente; nell&#039;ottobre 1995,
    Rasmus rilasciò una riscrittura completa del codice. Riportando il
    nome PHP, fu ora (brevemente) chiamato &quot;Personal Home Page Construction
    Kit&quot;, e fu la prima release a vantare quello che era, all&#039;epoca,
    considerato un&#039;interfaccia di scripting avanzata. Il linguaggio fu
    deliberatamente progettato per assomigliare a C nella struttura, rendendolo una facile
    adozione per sviluppatori familiari con C, Perl e linguaggi simili.
    Essendo stato finora limitato a sistemi UNIX e conformi a POSIX,
    si stava esplorando il potenziale per un&#039;implementazione Windows NT.
   </p>
   <p class="para">
    Il codice subì un&#039;altra revisione completa, e nell&#039;aprile 1996,
    combinando i nomi delle release passate, Rasmus introdusse PHP/FI.
    Questa implementazione di seconda generazione iniziò a far evolvere veramente PHP
    da una suite di strumenti a un linguaggio di programmazione a sé stante.
    Includeva supporto integrato per database DBM, mSQL e Postgres95,
    cookie, supporto per funzioni definite dall&#039;utente, e molto altro.
    Quel giugno, PHP/FI ricevette lo status di versione 2.0. Un fatto interessante
    su questo, tuttavia, è che c&#039;era solo una singola versione completa
    di PHP 2.0. Quando finalmente si laureò dallo status beta
    nel novembre 1997, il motore di parsing sottostante era già
    in completa riscrittura.
   </p>
   <p class="para">
    Sebbene abbia avuto una breve vita di sviluppo, continuò a godere
    di una crescente popolarità nel mondo ancora giovane dello sviluppo web. Nel
    1997 e 1998, PHP/FI aveva un seguito di diverse migliaia di utenti in tutto
    il mondo. Un sondaggio Netcraft di maggio 1998 indicava che
    quasi 60.000 domini riportavano header contenenti
    &quot;PHP&quot;, indicando che il server host lo aveva effettivamente installato.
    Questo numero equivaleva a circa l&#039;1% di tutti i domini su
    Internet all&#039;epoca. Nonostante queste cifre impressionanti, la maturazione
    di PHP/FI era destinata a limitazioni; mentre c&#039;erano diversi contributori
    minori, era ancora principalmente sviluppato da un singolo individuo.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Example #1 Esempio di codice PHP/FI</strong></p>
     <div class="example-contents">
<div class="htmlcode"><pre class="htmlcode">&lt;!--include /text/header.html--&gt;

&lt;!--getenv HTTP_USER_AGENT--&gt;
&lt;!--ifsubstr $exec_result Mozilla--&gt;
  Hey, you are using Netscape!&lt;p&gt;
&lt;!--endif--&gt;

&lt;!--sql database select * from table where user=&#039;$username&#039;--&gt;
&lt;!--ifless $numentries 1--&gt;
  Sorry, that record does not exist&lt;p&gt;
&lt;!--endif exit--&gt;
  Welcome &lt;!--$user--&gt;!&lt;p&gt;
  You have &lt;!--$index:0--&gt; credits left in your account.&lt;p&gt;

&lt;!--include /text/footer.html--&gt;</pre>
</div>
     </div>

    </div>
   </p>
  </div>

  <div class="sect2" id="history.php3">
   <h3 class="title">PHP 3</h3>
   <p class="para">
    PHP 3.0 fu la prima versione che assomigliava da vicino a PHP come
    esiste oggi. Trovando PHP/FI 2.0 ancora inefficiente e
    carente delle funzionalità necessarie per alimentare un&#039;applicazione eCommerce
    che stavano sviluppando per un progetto universitario, Andi Gutmans e
    Zeev Suraski di Tel Aviv, Israele, iniziarono un&#039;altra completa
    riscrittura del parser sottostante nel 1997. Avvicinandosi a Rasmus
    online, discussero vari aspetti dell&#039;implementazione corrente
    e del loro risviluppo di PHP. In uno sforzo per
    migliorare il motore e iniziare a costruire sulla base utenti esistente di PHP/FI,
    Andi, Rasmus e Zeev decisero di collaborare nello
    sviluppo di un nuovo linguaggio di programmazione indipendente.
    Questo linguaggio interamente nuovo fu rilasciato con un nuovo nome, che
    rimosse l&#039;implicazione dell&#039;uso personale limitato che il nome
    PHP/FI 2.0 conteneva. Fu rinominato semplicemente &#039;PHP&#039;, con il
    significato che divenne un acronimo ricorsivo - PHP: Hypertext Preprocessor.
   </p>
   <p class="para">
    Uno dei maggiori punti di forza di PHP 3.0 erano le sue potenti
    funzionalità di estensibilità. Oltre a fornire agli utenti finali
    un&#039;interfaccia matura per database multipli, protocolli
    e API, la facilità di estendere il linguaggio stesso attirò
    dozzine di sviluppatori che inviarono una varietà di moduli. Probabilmente,
    questa fu la chiave del tremendo successo di PHP 3.0. Altre funzionalità
    chiave introdotte in PHP 3.0 includevano il supporto per la programmazione orientata agli oggetti
    e una sintassi del linguaggio molto più potente e coerente.
   </p>
   <p class="para">
    Nel giugno 1998, con molti nuovi sviluppatori da tutto il mondo
    che si univano allo sforzo, PHP 3.0 fu annunciato dal nuovo PHP Development
    Team come il successore ufficiale di PHP/FI 2.0. Lo sviluppo attivo
    di PHP/FI 2.0, che era praticamente cessato a novembre dell&#039;anno
    precedente, fu ora ufficialmente terminato. Dopo circa nove mesi
    di test pubblico aperto, quando arrivò l&#039;annuncio del rilascio ufficiale
    di PHP 3.0, era già installato su oltre 70.000
    domini in tutto il mondo, e non era più limitato a
    sistemi operativi conformi a POSIX. Una quota relativamente piccola di
    domini che riportavano PHP come installato erano ospitati su server
    che eseguivano Windows 95, 98 e NT, e Macintosh. Al suo picco, PHP 3.0
    era installato su circa il 10% dei server web su
    Internet.
   </p>
  </div>

  <div class="sect2" id="history.php4">
   <h3 class="title">PHP 4</h3>
   <p class="para">
    Nell&#039;inverno del 1998, poco dopo il rilascio ufficiale di PHP 3.0,
    Andi Gutmans e Zeev Suraski iniziarono a lavorare
    su una riscrittura del core di PHP. Gli obiettivi di progettazione erano migliorare
    le prestazioni delle applicazioni complesse e migliorare la
    modularità del codice base di PHP. Tali applicazioni furono rese
    possibili dalle nuove funzionalità di PHP 3.0 e dal supporto per un&#039;ampia
    varietà di database e API di terze parti, ma PHP 3.0 non era
    progettato per gestire tali applicazioni complesse in modo efficiente.
   </p>
   <p class="para">
    Il nuovo motore, chiamato &#039;Zend Engine&#039; (composto dai loro
    nomi, Zeev e Andi), raggiunse con successo questi obiettivi di progettazione,
    e fu introdotto per la prima volta a metà 1999. PHP 4.0,
    basato su questo motore e accoppiato con un&#039;ampia gamma di
    nuove funzionalità aggiuntive, fu ufficialmente rilasciato nel maggio
    2000, quasi due anni dopo il suo predecessore. Oltre
    alle prestazioni molto migliorate di questa versione, PHP 4.0
    includeva altre funzionalità chiave come il supporto per molti più
    server web, sessioni HTTP, buffering dell&#039;output, modi più sicuri
    di gestire l&#039;input degli utenti e diversi nuovi costrutti del linguaggio.
   </p>
  </div>

  <div class="sect2" id="history.php5">
   <h3 class="title">PHP 5</h3>
   <p class="para">
    PHP 5 fu rilasciato nel luglio 2004 dopo un lungo sviluppo e diversi
    pre-rilasci. È principalmente guidato dal suo core, lo
    <code class="literal">Zend Engine 2.0</code> con un
    nuovo modello a oggetti e dozzine di altre nuove funzionalità.
   </p>
   <p class="para">
    Il team di sviluppo di PHP include dozzine di sviluppatori, così come
    dozzine di altri che lavorano su progetti correlati a PHP e di supporto,
    come PEAR, PECL e documentazione, e un&#039;infrastruttura di rete
    sottostante di ben oltre cento singoli server web
    su sei dei sette continenti del mondo. Sebbene sia solo una
    stima basata su statistiche degli anni precedenti, è sicuro
    presumere che PHP sia ora installato su decine o forse centinaia
    di milioni di domini in tutto il mondo.
   </p>
  </div>

  <div class="sect2" id="history.php6">
   <h3 class="title">PHP 6</h3>
   <p class="para">
    Il piano per PHP 6 era di includere un supporto profondo per Unicode nel
    motore e nel linguaggio. Questo lavoro fu poi abbandonato, ma altre
    funzionalità che erano state previste per PHP 6 furono invece incorporate
    in PHP 5.3 (<a href="language.namespaces.php" class="link">namespace</a>)
    e PHP 5.4 (<a href="language.oop5.traits.php" class="link">trait</a>,
    sintassi array &quot;corta&quot;).
   </p>
  </div>

  <div class="sect2" id="history.php7">
   <h3 class="title">PHP 7</h3>
   <p class="para">
    PHP 7.0 fu rilasciato nel 2015, e presentava un&#039;altra versione principale del
    core, <code class="literal">Zend Engine 3.0</code>, che includeva
    significativi miglioramenti delle prestazioni (fino a due volte più veloce di PHP
    5.6) e dell&#039;uso della memoria, supporto coerente a 64 bit, miglioramenti
    alle eccezioni, un generatore di numeri casuali sicuro, l&#039;
    <a href="language.operators.comparison.php#language.operators.comparison.coalesce" class="link">operatore null coalescing
    (??)</a>, <a href="language.oop5.anonymous.php" class="link">classi
    anonime</a>, e altre funzionalità.
   </p>
   <p class="para">
    Le release successive della serie PHP 7 introdussero più funzionalità del linguaggio
    come la <a href="function.list.php" class="link">sintassi list corta</a> (7.1),
    dichiarazione di tipo per parametri oggetto e valori di ritorno (7.2), una nuova
    sintassi flessibile per <a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">heredoc</a>
    e <a href="language.types.string.php#language.types.string.syntax.nowdoc" class="link">nowdoc</a>
    (7.3), proprietà tipizzate (7.4), e una nuova
    <a href="class.ffi.php" class="link">interfaccia per funzioni esterne</a> (7.4).
   </p>
  </div>

  <div class="sect2" id="history.php8">
   <h3 class="title">PHP 8</h3>
   <p class="para">
    Rilasciato per la prima volta nel 2020, PHP 8.0 fu un altro importante aggiornamento del
    linguaggio PHP. Conteneva molte nuove funzionalità e ottimizzazioni tra cui
    <a href="functions.arguments.php#functions.named-arguments" class="link">argomenti con nome</a>,
    <a href="language.types.declarations.php#language.types.declarations.composite.union" class="link">tipi
    union</a>, <a href="language.attributes.php" class="link">attributi</a>,
    <a href="language.oop5.decon.php#language.oop5.decon.constructor.promotion" class="link">promozione
    delle proprietà nel costruttore</a>,
    espressioni <a href="control-structures.match.php" class="link"><code class="literal">match</code></a>,
    l&#039;<a href="language.oop5.basic.php#language.oop5.basic.nullsafe" class="link">operatore nullsafe
    (<code class="literal">?-&gt;</code>)</a>, un nuovo compilatore JIT ottimizzante,
    e miglioramenti nel sistema dei tipi, nella gestione degli errori e nella coerenza.
   </p>
   <p class="para">
    Le release successive della serie PHP 8 introdussero nuove funzionalità del linguaggio
    tra cui <a href="language.enumerations.php" class="link">enumerazioni</a> (8.1),
    <a href="language.fibers.php" class="link">fiber</a> (8.1),
    <a href="language.oop5.basic.php#language.oop5.basic.class.readonly" class="link">classi readonly</a> (8.2),
    tipi in Forma Normale Disgiuntiva (DNF) (8.2), e costanti
    di classe tipizzate (8.3).
   </p>
  </div>
 </div><?php manual_footer($setup); ?>