PHP  »  Articoli  »  Programmazione Php 

PHP-CLI: PHP da linea di comando

di: Claudio Garau     17 Luglio 2008

L'acronimo CLI è l'abbreviazione di Command Line Interface ('Interfaccia da Linea di Comando'), una modalità di accesso al sistema attraverso un interprete per comandi testuali; questi comandi sono espressi essenzialmente attraverso delle stringhe alfanumeriche che possono essere eseguite da altre applicazioni. Nel caso di PHP, per esempio, sarà possibile utilizzare le CLI per integrare determinati programmi con funzionalità messe a disposizione da questo linguaggio.

Vantaggi nell'utilizzo di PHP-CLI

L'utilizzo di PHP tramite linea di comando risale alla versione 4.3.0 (nella 4.2.0 non era pianamente supportato) quando fu introdotta una SAPI (Server Application Programming Interface), denominata PHP-CLI; attraverso questa interfaccia divenne possibile eseguire script PHP tramite istruzioni testuali e l'ambito di utilizzo di questo linguaggio per lo scripting server side superò i rigidi confini imposti dalle pagine Web e dai browser. Gli sviluppatori PHP poterono avvalersi di numerosi strumenti a disposizione fino a quel momento soltanto degli amministratori di sistema.

Le differenze tra il tradizionale sviluppo di pagine Web e l'utilizzo di PHP tramite interfaccia testuale non sono poche, è possibile però elencarne le principali:

  • l'output generato tramite CLI è "pulito" (di default non vengono introdotti degli headers), l'utilizzatore lo vede esattamente così com'è cioè nel modo in cui viene prodotto;
  • l'output presenta una formattazione minima se non assente, il formato in "semplice testo" permette una più semplice elaborazione da parte di programmi di terze parti;
  • il tempo di esecuzione dei comandi è solitamente molto più veloce di quello richiesto nel caso in cui debba essere caricata una pagina Web;
  • l'utilizzatore può agire dall'interno dello spazio fisico dedicato a PHP nel file system;
  • gli input vengono gestiti a livello di runtime e cioè nel momento in cui un programma viene eseguito, cosa non possibile per le pagine Web dove la definizione degli input precede l'esecuzione dello script.

In molti potrebbero chiedersi come mai si è sentita l'esigenza di integrare in PHP la possibilità di inviare istruzioni tramite linea di comando, esistono infatti linguaggi molto più collaudati come per esempio Perl grazie ai quali interagire con il sistema. L'obiezione è sensata, ma nello stesso tempo è necessario elencare i vantaggi derivanti dall'introduzione della CLI in questo linguaggio:

  • non è necessario imparare altri linguaggi come appunto Perl, Bash o Awk;
  • consente di riutilizzare componenti e codici preesistenti;
  • mette a disposizione uno strumento per sfruttare al meglio il multithreading in PHP5;
  • permette di integrare nuove funzionalità in applicazioni PHP preesistenti;
  • introduce la possibilità di automatizzare e programmare (CRON) i processi, cosa impossibile tramite il tradizionale sviluppo limitato alle pagine Web;
  • consente di creare interfacce grafiche (GUI) utilizzando PHP e GTK.

Tra i punti elencati quello relativo alla programmazione di eventi è probabilmente il più importante, per fare un esempio immaginiamo di dover cancellare ogni 24 ore delle righe che una nostra applicazione PHP scrive in un file di testo; in assenza di CLI avremmo la necessita di fare questo manualmente inviando allo script un determinato input ad un ora stabilita, utilizzare la programmazione ci permette invece di programmare l'ora esatta di una determinata esecuzione senza la necessità di alcun intervento da parte dell'utilizzatore. Lo stesso discorso potrebbe essere fatto per operazioni importanti come la creazione di backup o l'invio di messaggi tramite posta elettronica agli utenti di una newsletter.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti