-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathhistory.xml
More file actions
455 lines (432 loc) · 21 KB
/
history.xml
File metadata and controls
455 lines (432 loc) · 21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fecf93309b34b59e23dda35530d83b0f1b05ab84 Maintainer: lacatoire Status: ready -->
<appendix xml:id="history" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Storia di PHP e Progetti Correlati</title>
<para>
PHP ha fatto molta strada dalla sua nascita a metà degli anni '90.
Da umili inizi fino a diventare uno dei linguaggi più importanti
che alimentano il web, l'evoluzione di PHP è una favola da geek.
Intendiamoci, una crescita così esplosiva non è stata un compito facile.
Coloro che sono interessati a vedere brevemente come PHP è cresciuto
fino a diventare quello che è oggi, continuino a leggere. Se volete toccare
un pezzo di storia di Internet, potete trovare le vecchie release di
PHP nel <link xlink:href="&url.php.museum;">PHP Museum</link>.
</para>
<sect1 xml:id="history.php">
<title>Storia di PHP</title>
<sect2 xml:id="history.phpfi">
<title>PHP Tools, FI, Construction Kit e PHP/FI</title>
<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 "Personal
Home Page Tools", più frequentemente riferito come "PHP Tools".
Col tempo, fu desiderata più funzionalità, e Rasmus riscrisse
PHP Tools, producendo un'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
<link xlink:href="&url.php.release1.0.0;">rilasciò</link>
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.
</para>
<para>
Nel settembre di quell'anno, Rasmus espanse PHP e - per un
breve periodo - abbandonò effettivamente il nome PHP. Ora riferendosi agli
strumenti come FI (abbreviazione di "Forms Interpreter"), 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' 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'ottobre 1995,
Rasmus rilasciò una riscrittura completa del codice. Riportando il
nome PHP, fu ora (brevemente) chiamato "Personal Home Page Construction
Kit", e fu la prima release a vantare quello che era, all'epoca,
considerato un'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'implementazione Windows NT.
</para>
<para>
Il codice subì un'altra revisione completa, e nell'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'utente, e molto altro.
Quel giugno, PHP/FI ricevette lo status di versione 2.0. Un fatto interessante
su questo, tuttavia, è che c'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.
</para>
<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
"PHP", indicando che il server host lo aveva effettivamente installato.
Questo numero equivaleva a circa l'1% di tutti i domini su
Internet all'epoca. Nonostante queste cifre impressionanti, la maturazione
di PHP/FI era destinata a limitazioni; mentre c'erano diversi contributori
minori, era ancora principalmente sviluppato da un singolo individuo.
</para>
<para>
<example>
<title>Esempio di codice PHP/FI</title>
<programlisting role="html">
<![CDATA[
<!--include /text/header.html-->
<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
Hey, you are using Netscape!<p>
<!--endif-->
<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
Sorry, that record does not exist<p>
<!--endif exit-->
Welcome <!--$user-->!<p>
You have <!--$index:0--> credits left in your account.<p>
<!--include /text/footer.html-->
]]>
</programlisting>
</example>
</para>
</sect2>
<sect2 xml:id="history.php3">
<title>PHP 3</title>
<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'applicazione eCommerce
che stavano sviluppando per un progetto universitario, Andi Gutmans e
Zeev Suraski di Tel Aviv, Israele, iniziarono un'altra completa
riscrittura del parser sottostante nel 1997. Avvicinandosi a Rasmus
online, discussero vari aspetti dell'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'implicazione dell'uso personale limitato che il nome
PHP/FI 2.0 conteneva. Fu rinominato semplicemente 'PHP', con il
significato che divenne un acronimo ricorsivo - PHP: Hypertext Preprocessor.
</para>
<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'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.
</para>
<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'anno
precedente, fu ora ufficialmente terminato. Dopo circa nove mesi
di test pubblico aperto, quando arrivò l'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.
</para>
</sect2>
<sect2 xml:id="history.php4">
<title>PHP 4</title>
<para>
Nell'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'ampia
varietà di database e API di terze parti, ma PHP 3.0 non era
progettato per gestire tali applicazioni complesse in modo efficiente.
</para>
<para>
Il nuovo motore, chiamato 'Zend Engine' (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'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'output, modi più sicuri
di gestire l'input degli utenti e diversi nuovi costrutti del linguaggio.
</para>
</sect2>
<sect2 xml:id="history.php5">
<title>PHP 5</title>
<para>
PHP 5 fu rilasciato nel luglio 2004 dopo un lungo sviluppo e diversi
pre-rilasci. È principalmente guidato dal suo core, lo
<literal>Zend Engine 2.0</literal> con un
nuovo modello a oggetti e dozzine di altre nuove funzionalità.
</para>
<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'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.
</para>
</sect2>
<sect2 xml:id="history.php6">
<title>PHP 6</title>
<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 (<link linkend="language.namespaces">namespace</link>)
e PHP 5.4 (<link linkend="language.oop5.traits">trait</link>,
sintassi array "corta").
</para>
</sect2>
<sect2 xml:id="history.php7">
<title>PHP 7</title>
<para>
PHP 7.0 fu rilasciato nel 2015, e presentava un'altra versione principale del
core, <literal>Zend Engine 3.0</literal>, che includeva
significativi miglioramenti delle prestazioni (fino a due volte più veloce di PHP
5.6) e dell'uso della memoria, supporto coerente a 64 bit, miglioramenti
alle eccezioni, un generatore di numeri casuali sicuro, l'
<link linkend="language.operators.comparison.coalesce">operatore null coalescing
(??)</link>, <link linkend="language.oop5.anonymous">classi
anonime</link>, e altre funzionalità.
</para>
<para>
Le release successive della serie PHP 7 introdussero più funzionalità del linguaggio
come la <link linkend="function.list">sintassi list corta</link> (7.1),
dichiarazione di tipo per parametri oggetto e valori di ritorno (7.2), una nuova
sintassi flessibile per <link linkend="language.types.string.syntax.heredoc">heredoc</link>
e <link linkend="language.types.string.syntax.nowdoc">nowdoc</link>
(7.3), proprietà tipizzate (7.4), e una nuova
<link linkend="class.ffi">interfaccia per funzioni esterne</link> (7.4).
</para>
</sect2>
<sect2 xml:id="history.php8">
<title>PHP 8</title>
<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
<link linkend="functions.named-arguments">argomenti con nome</link>,
<link linkend="language.types.declarations.composite.union">tipi
union</link>, <link linkend="language.attributes">attributi</link>,
<link linkend="language.oop5.decon.constructor.promotion">promozione
delle proprietà nel costruttore</link>,
espressioni <link linkend="control-structures.match"><literal>match</literal></link>,
l'<link linkend="language.oop5.basic.nullsafe">operatore nullsafe
(<literal>?-></literal>)</link>, un nuovo compilatore JIT ottimizzante,
e miglioramenti nel sistema dei tipi, nella gestione degli errori e nella coerenza.
</para>
<para>
Le release successive della serie PHP 8 introdussero nuove funzionalità del linguaggio
tra cui <link linkend="language.enumerations">enumerazioni</link> (8.1),
<link linkend="language.fibers">fiber</link> (8.1),
<link linkend="language.oop5.basic.class.readonly">classi readonly</link> (8.2),
tipi in Forma Normale Disgiuntiva (DNF) (8.2), e costanti
di classe tipizzate (8.3).
</para>
</sect2>
</sect1>
<sect1 xml:id="history.php.related">
<title>Storia dei progetti correlati a PHP</title>
<!-- Hope Stig and/or Egon can do this
<sect2 xml:id="history.phpdoc">
<title>PHP Documentation Project</title>
<para>
</para>
</sect2>
-->
<sect2 xml:id="history.pear">
<title>PEAR</title>
<para>
<link xlink:href="&url.php.pear;">PEAR</link>, il <literal>PHP Extension and
Application Repository</literal> (originariamente, PHP Extension and Add-on
Repository) è la versione PHP delle classi di base, e potrebbe crescere in
futuro per essere uno dei modi chiave per distribuire estensioni PHP tra
gli sviluppatori.
</para>
<para>
PEAR nacque nelle discussioni tenute al PHP Developers'
Meeting (PDM) tenutosi nel gennaio 2000 a Tel Aviv. Fu
creato da Stig S. Bakken, ed è dedicato alla sua primogenita,
Malin Bakken.
</para>
<para>
Dall'inizio del 2000, PEAR è cresciuto fino a diventare un grande e significativo
progetto con un gran numero di sviluppatori che lavorano
sull'implementazione di funzionalità comuni e riutilizzabili per il
beneficio dell'intera comunità PHP. PEAR oggi include
un'ampia varietà di classi di base dell'infrastruttura
per l'accesso al database, il caching dei contenuti, i calcoli
matematici, l'eCommerce e molto altro.
</para>
<para>
Maggiori informazioni su PEAR possono essere trovate nel <link
xlink:href="&url.php.pear.manual;">manuale</link>.
</para>
</sect2>
<sect2 xml:id="history.phpqa">
<title>PHP Quality Assurance Initiative</title>
<para>
La <link xlink:href="&url.php.prerelease;">PHP Quality Assurance
Initiative</link> fu istituita nell'estate del 2000 in risposta alle
critiche che le release di PHP non venivano testate abbastanza bene per
ambienti di produzione. Il team ora consiste in un gruppo centrale di
sviluppatori con una buona comprensione del codice base di PHP.
Questi sviluppatori dedicano molto del loro tempo a
localizzare e correggere bug in PHP. Inoltre
ci sono molti altri membri del team che testano e
forniscono feedback su queste correzioni usando un'ampia varietà
di piattaforme.
</para>
</sect2>
<sect2 xml:id="history.phpgtk">
<title>PHP-GTK</title>
<para>
<link xlink:href="&url.php.gtk;">PHP-GTK</link> è la soluzione PHP per
scrivere applicazioni GUI lato client. Andrei Zmievski ricorda il
processo di pianificazione e creazione di PHP-GTK:
</para>
<blockquote>
<para>
La programmazione GUI è sempre stata tra i miei interessi, e ho trovato
che Gtk+ è un toolkit molto carino, eccetto che programmarci
in C è un po' noioso. Dopo aver visto le implementazioni di PyGtk e GTK-Perl,
ho deciso di vedere se PHP poteva essere fatto
interfacciare con Gtk+, anche minimamente. A partire da agosto 2000,
ho iniziato ad avere un po' più di tempo libero, quindi è stato allora che ho iniziato
a sperimentare. La mia linea guida principale era l'implementazione di PyGtk
poiché era abbastanza completa nelle funzionalità e aveva una bella interfaccia
orientata agli oggetti. James Henstridge, l'autore di PyGtk, fornì consigli molto
utili durante quelle fasi iniziali.
</para>
<para>
Scrivere a mano le interfacce per tutte le funzioni Gtk+ era fuori
discussione, così mi sono aggrappato all'idea del generatore di codice, simile
a come faceva PyGtk. Il generatore di codice è un programma PHP che legge
un insieme di file <filename>.defs</filename> contenenti informazioni su classi, costanti e
metodi Gtk+ e genera codice C che interfaccia PHP con
essi. Quello che non può essere generato automaticamente può essere scritto a
mano nel file <filename>.overrides</filename>.
</para>
<para>
Lavorare sul generatore di codice e sull'infrastruttura richiese del
tempo, perché potevo dedicare poco tempo a PHP-GTK durante
l'autunno del 2000. Dopo aver mostrato PHP-GTK a Frank Kromann, si
interessò e iniziò ad aiutarmi con il lavoro sul generatore di codice
e l'implementazione Win32. Quando scrivemmo il primo programma Hello World
e lo avviammo, fu estremamente eccitante. Ci vollero
un altro paio di mesi per portare il progetto in una condizione presentabile
e la versione iniziale fu rilasciata il 1 marzo 2001. La
storia raggiunse prontamente SlashDot.
</para>
<para>
Percependo che PHP-GTK potesse essere esteso, ho impostato mailing
list separate e repository CVS per esso, così come il
sito web gtk.php.net con l'aiuto di Colin Viebrock. La
documentazione avrebbe anche dovuto essere fatta e James Moore
venne ad aiutare con quello.
</para>
<para>
Dal suo rilascio PHP-GTK ha guadagnato popolarità. Abbiamo
il nostro team di documentazione, il manuale continua a migliorare,
le persone iniziano a scrivere estensioni per PHP-GTK, e sempre
più applicazioni eccitanti con esso.
</para>
</blockquote>
</sect2>
</sect1>
<sect1 xml:id="history.php.books">
<title>Libri su PHP</title>
<para>
Man mano che PHP cresceva, iniziò a essere riconosciuto come una piattaforma di
sviluppo popolare a livello mondiale. Uno dei modi più interessanti di
vedere questa tendenza era osservando i libri su PHP che
uscivano nel corso degli anni.
</para>
<para>
Per quanto ne sappiamo, il primo libro dedicato a PHP fu
'PHP - tvorba interaktivních internetových aplikací' (<emphasis>PHP
- Creating Interactive Internet Applications</emphasis>) - un libro ceco
pubblicato nell'aprile 1999, scritto da Jirka Kosek. Il mese successivo
seguì un libro tedesco scritto da Egon Schmid, Christian Cartus
e Richard Blume. Il primo libro in inglese su PHP fu
pubblicato poco dopo, ed era 'Core PHP Programming' di
Leon Atkinson. Questi libri coprivano PHP 3.0.
</para>
<para>
Mentre questi libri furono i primi del loro genere - furono
seguiti da un gran numero di libri da una miriade di autori e
editori. Ci sono oltre 400 libri in inglese, oltre 100 libri in
tedesco, e oltre 50 libri in francese o spagnolo! Inoltre, puoi
trovare libri su PHP in molte altre lingue, incluso
coreano, giapponese ed ebraico.
</para>
<para>
Chiaramente, questo gran numero di libri, scritti da diversi
autori, pubblicati da molti editori, e la loro disponibilità
in così tante lingue - sono una forte testimonianza del successo
mondiale di PHP.
</para>
</sect1>
<sect1 xml:id="history.php.publications">
<title>Pubblicazioni su PHP</title>
<para>
Per quanto ne sappiamo, il primo articolo su PHP in
una rivista cartacea fu pubblicato nella versione ceca di
Computerworld nella primavera del 1998, e copriva PHP 3.0. Come con
i libri, questo fu il primo di una serie di molti articoli pubblicati
su PHP in varie riviste importanti.
</para>
<para>
Articoli su PHP sono apparsi in Dr. Dobbs, Linux Enterprise,
Linux Magazine e molti altri. Articoli sulla migrazione di applicazioni
basate su ASP a PHP sotto Windows appaiono persino sul
<acronym>MSDN</acronym> di <productname>Microsoft</productname>!
</para>
</sect1>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->