SlideShare a Scribd company logo
1 of 3
Capitolo 1
Introduzione al PHP
Cenni storici
Nel 1989 Tim Berners Lee, scienziato britannico del CERN inventò il “WWW” (World Wide Web)
Nel 1993 dal CERN, nasce la prima pagina web.
Nel 1995 quando il nascente mondo del web era dominato dal prodotto FLASH di Macromedia, nota società
statunitense che all’epoca si occupava prevalentemente di grafica web, il programmatore Danese Rasmus
Lerdorf, ispirandosi al linguaggio Perl, creo il PHP/FI.
Nel 1998 Con il contributo di altri autori nasce PHP 3.0 con nuove direttive per l'uso del database.
Nel 2000 con la versione 4.0 ed il motore di interpretazione Zend, PHP inizia la sua inarrestabile corsa a
divenire il linguaggio server-side più utilizzato.
Nel 2004 con la versione 5.0 viene introdotto il motore Zen 2 il PDO per l'accesso ai database ed il supporto
alla programmazione ad oggetti.
Nel 2015, dopo circa dieci anni, venne rilasciata la versione 7.0 che tra l'altro, riscrive il sistema di gestione
della memoria ed apporta radicali cambiamenti anche concettuali al PHP, riuscendo a rivitalizzarlo ed
aggiornarlo con le nuove tecnologie in uso dell’epoca.
Nel 2020 l'attuale versione 7. 4. 9 grazie alle sue ottimizzazione anche in ambito di security e con le
implementazioni in HASH e PDO, permette a noi programmatori, di utilizzare nativamente operatività che
prima venivano implementate all'esterno.
Che cos'è PHP
PHP è un linguaggio di scripting interpretato, Web-Oriented. PHP permette di creare in modo semplice pagine
web il cui contenuto viene aggiornato dinamicamente. PHP è un linguaggio di tipo server side, in pratica lavora
su un server, dove permane avviato un servizio, gestito dal webserver, in attesa di richieste che quando arrivano
vengono processate dal parser PHP, tali richieste pervengono dal browser di un cliente (utilizzatore), che
collegandosi alla pagina PHP sollecita un'elaborazione ed una risposta in HTML che il browser del richiedente
sappia interpretare e quindi presentare sotto forma di pagina web. Se tale attività comporta la necessità di
interrogare, modificare o implementare dati da un database, PHP si occupa di tale operatività, formattando le
liste dei dati richieste, sotto forma di pagina web da presentare al cliente richiedente. PHP è l’acronimo di
(Professional Home Page). Ad oggi questo linguaggio oltre alle nascenti ispirazioni del PERL ritroviamo molte
caratteristiche proprie del C++ e Java. Va comunque precisato che a differenza dei diretti concorrenti Java ed
ASP molto legati ai rispettivi web server di riferimento e pertanto confinati nei servizi hosting che dispongono
di tali web Server, PHP è pienamente slegato dal Web Server che lo ospita ed inoltre è supportato dai più
blasonati Web Server della rete come: APACHE, IIS, Netscape, Oreilly, Candium, Xtami, ecc. Mentre il suo
maggiore concorrente ASP lavora quasi esclusivamente su IIS e quindi su Server Windows PHP lavora sotto
qualsiasi sistema operativo.
L'interprete PHP
PHP è un linguaggio interpretato per lo più dal motore Zend Engine 2 che si occupa di interpretare il codice
PHP in codice binario che da sempre è l'unico che viene riconosciuto dal processore e quindi dal computer , tra
punti di forza dell'interprete PHP mi piace evidenziare i seguenti:
1) PHP utilizza una gestione della Memoria semplificata che dura giusto il tempo dell'elaborazione di una
richiesta del client e la successiva risposta formattata come pagina web in HTML (in pratica frazione di
secondi).
2) l'assenza di tipicizzazione che evita al programmatore di prevedere in anticipo le variabili che
occorrono e dichiarare esplicitamente
3) Deploy estremamente semplificato, in pratica per rendere attivo un progetto basterà copiare la cartella
del progetto all'interno di una cartella del web server
4) La possibilità di avviare un processo PHP sia attraverso web server condiviso in internet o sull'intranet
aziendale oppure semplicemente dalla linea di comando del pront attraverso il CLI (comand line
interface)
5) La possibilità di gestire un nativamente funzionalità come Curl, Xml, ODBC, SOAP ecc
6) Riconoscere anche tra le righe di una pagina web HTML codice PHP racchiuso tra i tag, gestito dal
parser PHP.
7) L'indipendenza dall'ambiente sottostante del web server e del sistema operativo che lo rendono
estremamente scalabile.
8) L'essere supportato da numerosi framework di sviluppo.
9) La facile lettura del codice anche per i meno esperti.
10) La possibilità di estendere le funzionalità del linguaggio attraverso il linguaggio C.
11) Una grande comunità globale, nazionale e regionale molto attiva ed aperta a tutti.
12) Una vasta scelta di librerie di terze parti, per le più complesse problematiche esistenti.
Script Server Side
Una paginapura in HTML (paginaWebstatica) puòessere visualizzatadaqualsiasi browser.Inserendi inuna
paginaHTML codice PHPelevandolaadinamica,il serverche ospitadeve contenere oltre adunWeb Server
attivo anche un PARSER che sia in grado di elaborare il contenuto della richiesta e formattare la risposta
(OUTPUT), nel formato HTML. Il linguaggio PHP contiene costrutti che risultano molto famigliari ha che ha
avuto esperienze di programmazione in C. Anche se PHP riesce a dialogare tranquillamente con qualsiasi
database ha un rapporto speciale conil DBMS MySQL. Il database MySql nasce da un progettoproprietario
di MySQL AB passato poi a SUN Microsistem acquisita poi da Oracle, comunque ha mantenuto negli anni
anche lasuaformafree sottolicenza ENUGPL.Alcuni programmatorihannoproseguitounpercorsoparallelo
autonomo fondando il database Maria DB.
PHPgrazie aprecisi vincolidelsuofondatore è unsoftware completamenteliberoe copre attualmenteil 77%
dei siti in circolazione su internet.
Attualmente uso la versione 7.4.9 e la beta 7.5.0 che sto testando. Esse appartano ottime funzionalità
soprattutto in ambito di security come la protezione dei dati sensibili, crittografia a chiave pubblica, CSRF,
RBAC, Dependecy Iniecton, HEREDOC, NOWDOC, GMP, AGONZid, PCREZ, FFI.
Attendoinfuturol’annunciataversione 8.0con il compilatore JETedil nuovomeccanismodi serializzazione
degli oggetti (ottimizzato).

More Related Content

What's hot

Hosting: trasferire Joomla da un hosting all'altro #TipOfThaDay
Hosting: trasferire Joomla da un hosting all'altro   #TipOfThaDayHosting: trasferire Joomla da un hosting all'altro   #TipOfThaDay
Hosting: trasferire Joomla da un hosting all'altro #TipOfThaDayAruba S.p.A.
 
Introduzione alle Tecnlogie Web v1.0
Introduzione alle Tecnlogie Web v1.0Introduzione alle Tecnlogie Web v1.0
Introduzione alle Tecnlogie Web v1.0Paolo Quartarone
 
Corso PHP ENAIP - lezione #05 - 04/02/2014
Corso PHP ENAIP - lezione #05 - 04/02/2014Corso PHP ENAIP - lezione #05 - 04/02/2014
Corso PHP ENAIP - lezione #05 - 04/02/2014Matteo Moro
 
Introduzione alla creazione di siti internet
Introduzione alla creazione di siti internetIntroduzione alla creazione di siti internet
Introduzione alla creazione di siti internetmaramazza
 
Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Matteo Moro
 
Corso PHP ENAIP - lezione #02 - 21/01/2014
Corso PHP ENAIP - lezione #02 - 21/01/2014Corso PHP ENAIP - lezione #02 - 21/01/2014
Corso PHP ENAIP - lezione #02 - 21/01/2014Matteo Moro
 
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1 #...
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1  #...Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1  #...
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1 #...Aruba S.p.A.
 

What's hot (10)

GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Da html in_poi, verso PHP
Da html in_poi, verso PHPDa html in_poi, verso PHP
Da html in_poi, verso PHP
 
The road to php7
The road to php7The road to php7
The road to php7
 
Hosting: trasferire Joomla da un hosting all'altro #TipOfThaDay
Hosting: trasferire Joomla da un hosting all'altro   #TipOfThaDayHosting: trasferire Joomla da un hosting all'altro   #TipOfThaDay
Hosting: trasferire Joomla da un hosting all'altro #TipOfThaDay
 
Introduzione alle Tecnlogie Web v1.0
Introduzione alle Tecnlogie Web v1.0Introduzione alle Tecnlogie Web v1.0
Introduzione alle Tecnlogie Web v1.0
 
Corso PHP ENAIP - lezione #05 - 04/02/2014
Corso PHP ENAIP - lezione #05 - 04/02/2014Corso PHP ENAIP - lezione #05 - 04/02/2014
Corso PHP ENAIP - lezione #05 - 04/02/2014
 
Introduzione alla creazione di siti internet
Introduzione alla creazione di siti internetIntroduzione alla creazione di siti internet
Introduzione alla creazione di siti internet
 
Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014Corso PHP ENAIP - lezione #04 - 28/01/2014
Corso PHP ENAIP - lezione #04 - 28/01/2014
 
Corso PHP ENAIP - lezione #02 - 21/01/2014
Corso PHP ENAIP - lezione #02 - 21/01/2014Corso PHP ENAIP - lezione #02 - 21/01/2014
Corso PHP ENAIP - lezione #02 - 21/01/2014
 
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1 #...
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1  #...Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1  #...
Hosting: cache Jooml, tutte le opzioni spiegate passo dopo passo - parte 1 #...
 

Similar to Introduzione al PHP

Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHPextrategy
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileI.S.I.S. "Antonio Serra" - Napoli
 
Wordpress - Primi passi | Mafaldida
Wordpress  - Primi passi | MafaldidaWordpress  - Primi passi | Mafaldida
Wordpress - Primi passi | MafaldidaGiulia Costa
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Usare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulUsare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulLuca Milan
 
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Massimo Caliman
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerMatteo Magni
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecmedoardo fraioli
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiGiulia S
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case studyGaetano Giunta
 
Manuale EasyPHP e Wordpress
Manuale EasyPHP e WordpressManuale EasyPHP e Wordpress
Manuale EasyPHP e Wordpressalexperoni
 
Web Project - LESSON 1
Web Project - LESSON 1Web Project - LESSON 1
Web Project - LESSON 1Yunikon Design
 
Infrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on RailsInfrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on Railsguestfe3e15
 

Similar to Introduzione al PHP (20)

Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
Corso di joomla2
Corso di joomla2Corso di joomla2
Corso di joomla2
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHP
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
 
Wordpress - Primi passi | Mafaldida
Wordpress  - Primi passi | MafaldidaWordpress  - Primi passi | Mafaldida
Wordpress - Primi passi | Mafaldida
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Usare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulUsare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTful
 
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecm
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenuti
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case study
 
Manuale EasyPHP e Wordpress
Manuale EasyPHP e WordpressManuale EasyPHP e Wordpress
Manuale EasyPHP e Wordpress
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Web Project - LESSON 1
Web Project - LESSON 1Web Project - LESSON 1
Web Project - LESSON 1
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Infrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on RailsInfrastrutture web e Ruby on Rails
Infrastrutture web e Ruby on Rails
 

Introduzione al PHP

  • 1. Capitolo 1 Introduzione al PHP Cenni storici Nel 1989 Tim Berners Lee, scienziato britannico del CERN inventò il “WWW” (World Wide Web) Nel 1993 dal CERN, nasce la prima pagina web. Nel 1995 quando il nascente mondo del web era dominato dal prodotto FLASH di Macromedia, nota società statunitense che all’epoca si occupava prevalentemente di grafica web, il programmatore Danese Rasmus Lerdorf, ispirandosi al linguaggio Perl, creo il PHP/FI. Nel 1998 Con il contributo di altri autori nasce PHP 3.0 con nuove direttive per l'uso del database. Nel 2000 con la versione 4.0 ed il motore di interpretazione Zend, PHP inizia la sua inarrestabile corsa a divenire il linguaggio server-side più utilizzato. Nel 2004 con la versione 5.0 viene introdotto il motore Zen 2 il PDO per l'accesso ai database ed il supporto alla programmazione ad oggetti. Nel 2015, dopo circa dieci anni, venne rilasciata la versione 7.0 che tra l'altro, riscrive il sistema di gestione della memoria ed apporta radicali cambiamenti anche concettuali al PHP, riuscendo a rivitalizzarlo ed aggiornarlo con le nuove tecnologie in uso dell’epoca. Nel 2020 l'attuale versione 7. 4. 9 grazie alle sue ottimizzazione anche in ambito di security e con le implementazioni in HASH e PDO, permette a noi programmatori, di utilizzare nativamente operatività che prima venivano implementate all'esterno. Che cos'è PHP PHP è un linguaggio di scripting interpretato, Web-Oriented. PHP permette di creare in modo semplice pagine web il cui contenuto viene aggiornato dinamicamente. PHP è un linguaggio di tipo server side, in pratica lavora su un server, dove permane avviato un servizio, gestito dal webserver, in attesa di richieste che quando arrivano vengono processate dal parser PHP, tali richieste pervengono dal browser di un cliente (utilizzatore), che collegandosi alla pagina PHP sollecita un'elaborazione ed una risposta in HTML che il browser del richiedente sappia interpretare e quindi presentare sotto forma di pagina web. Se tale attività comporta la necessità di interrogare, modificare o implementare dati da un database, PHP si occupa di tale operatività, formattando le liste dei dati richieste, sotto forma di pagina web da presentare al cliente richiedente. PHP è l’acronimo di (Professional Home Page). Ad oggi questo linguaggio oltre alle nascenti ispirazioni del PERL ritroviamo molte caratteristiche proprie del C++ e Java. Va comunque precisato che a differenza dei diretti concorrenti Java ed ASP molto legati ai rispettivi web server di riferimento e pertanto confinati nei servizi hosting che dispongono di tali web Server, PHP è pienamente slegato dal Web Server che lo ospita ed inoltre è supportato dai più blasonati Web Server della rete come: APACHE, IIS, Netscape, Oreilly, Candium, Xtami, ecc. Mentre il suo
  • 2. maggiore concorrente ASP lavora quasi esclusivamente su IIS e quindi su Server Windows PHP lavora sotto qualsiasi sistema operativo. L'interprete PHP PHP è un linguaggio interpretato per lo più dal motore Zend Engine 2 che si occupa di interpretare il codice PHP in codice binario che da sempre è l'unico che viene riconosciuto dal processore e quindi dal computer , tra punti di forza dell'interprete PHP mi piace evidenziare i seguenti: 1) PHP utilizza una gestione della Memoria semplificata che dura giusto il tempo dell'elaborazione di una richiesta del client e la successiva risposta formattata come pagina web in HTML (in pratica frazione di secondi). 2) l'assenza di tipicizzazione che evita al programmatore di prevedere in anticipo le variabili che occorrono e dichiarare esplicitamente 3) Deploy estremamente semplificato, in pratica per rendere attivo un progetto basterà copiare la cartella del progetto all'interno di una cartella del web server 4) La possibilità di avviare un processo PHP sia attraverso web server condiviso in internet o sull'intranet aziendale oppure semplicemente dalla linea di comando del pront attraverso il CLI (comand line interface) 5) La possibilità di gestire un nativamente funzionalità come Curl, Xml, ODBC, SOAP ecc 6) Riconoscere anche tra le righe di una pagina web HTML codice PHP racchiuso tra i tag, gestito dal parser PHP. 7) L'indipendenza dall'ambiente sottostante del web server e del sistema operativo che lo rendono estremamente scalabile. 8) L'essere supportato da numerosi framework di sviluppo. 9) La facile lettura del codice anche per i meno esperti. 10) La possibilità di estendere le funzionalità del linguaggio attraverso il linguaggio C. 11) Una grande comunità globale, nazionale e regionale molto attiva ed aperta a tutti. 12) Una vasta scelta di librerie di terze parti, per le più complesse problematiche esistenti. Script Server Side Una paginapura in HTML (paginaWebstatica) puòessere visualizzatadaqualsiasi browser.Inserendi inuna paginaHTML codice PHPelevandolaadinamica,il serverche ospitadeve contenere oltre adunWeb Server attivo anche un PARSER che sia in grado di elaborare il contenuto della richiesta e formattare la risposta
  • 3. (OUTPUT), nel formato HTML. Il linguaggio PHP contiene costrutti che risultano molto famigliari ha che ha avuto esperienze di programmazione in C. Anche se PHP riesce a dialogare tranquillamente con qualsiasi database ha un rapporto speciale conil DBMS MySQL. Il database MySql nasce da un progettoproprietario di MySQL AB passato poi a SUN Microsistem acquisita poi da Oracle, comunque ha mantenuto negli anni anche lasuaformafree sottolicenza ENUGPL.Alcuni programmatorihannoproseguitounpercorsoparallelo autonomo fondando il database Maria DB. PHPgrazie aprecisi vincolidelsuofondatore è unsoftware completamenteliberoe copre attualmenteil 77% dei siti in circolazione su internet. Attualmente uso la versione 7.4.9 e la beta 7.5.0 che sto testando. Esse appartano ottime funzionalità soprattutto in ambito di security come la protezione dei dati sensibili, crittografia a chiave pubblica, CSRF, RBAC, Dependecy Iniecton, HEREDOC, NOWDOC, GMP, AGONZid, PCREZ, FFI. Attendoinfuturol’annunciataversione 8.0con il compilatore JETedil nuovomeccanismodi serializzazione degli oggetti (ottimizzato).