La cosa con PHP è che non è solo un linguaggio di programmazione, ma un intero ecosistema, composto da:
.
- Il linguaggio di programmazione PHP stesso
- Un runtime che può agganciare a un server Web (tramite
mod_php
o CGI / FastCGI) e fornisce molti modi per interagire con esso
- Una grande libreria di funzioni e classi integrate, molti di loro relativi al web
PHP fornisce funzionalità nella lingua stessa che sono molto specifiche per la programmazione Web, come i superglobals ($_SERVER
, $_GET
, $_POST
, $_COOKIE
, ecc.), Saltando tra la modalità PHP e la modalità HTML utilizzando tag <?php ?>
, ecc., E La sua semantica è costruita attorno al modello di esecuzione a richiesta di processo che è stata la norma entro i primi giorni della programmazione web lato server. PHP ha iniziato come strumento di scripting Web e si è evoluto solo in un linguaggio di programmazione (un po 'un po') in seguito; La versione CLI e altre caratteristiche non Web, anche se spesso possono essere usate in modo abbastanza efficace, sono un ripensamento, e con un'esposizione sufficiente alla lingua e al suo ecosistema, questo può diventare dolorosamente ovvio a volte.
Al contrario, la maggior parte degli altri linguaggi di programmazione sono stati progettati come linguaggio generale, sistemi o linguaggi di programmazione dell'applicazione fin dall'inizio, e qualsiasi cosa specifica per la programmazione web è disponibile nelle biblioteche. Se si desidera eseguire la programmazione del web, ad esempio, Python, è necessario un framework Web o almeno una libreria per implementare le associazioni dei server Web e le cose come la richiesta di analisi, la gestione della sessione HTML e la gestione della sessione, e probabilmente anche alcuni collegamenti di database (a meno che tu "Really hardcore e scrivi tutto quello da zero).
PHP ha tutte queste cose costruite in esso per impostazione predefinita, ed è per questo che le persone piace dire che PHP è un quadro web in sé.
Per un "Ciao, mondo!" Applicazione Web in Python, tipicamente si imposta un virtualV, installare alcune librerie, configurare un po 'di caldaia per il quadro web, definire i percorsi e scrivere un gestore che genera una risposta con "Ciao, mondo!" nel corpo; In PHP, è una questione di scrivere <?php echo "Hello, world!"
in Index.php, copiandolo su Docroot di Apache e abilitare Mod_php. Il resto (agganciare il server, le richieste di analisi, generare risposte, ecc.) Accata ancora, ma PHP si prende cura di te.