Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Introduzione: lo Zend Engine e le API

La struttura dello Zend Engine e le sue API per creare le estensioni
La struttura dello Zend Engine e le sue API per creare le estensioni
Link copiato negli appunti

Lo Zend Engine, il motore che si occupa di compilare ed eseguire i nostri script PHP, fornisce una vasta gamma di funzioni native che svolgono moltissimi compiti di comune utilità. Possiamo operare con semplicità sulle stringhe di testo, eseguire operazioni sul filesystem o gestire complesse strutture gerarchiche di array. Molte volte sorge però la necessità di estendere le capacità native del linguaggio al fine di semplificare ed organizzare correttamente i propri progetti: potremmo aver bisogno di un sistema di sessioni su database, oppure di una libreria che ci faciliti la generazione di file PDF o che ci permetta la gestione di stringhe composte da byte multipli. In questo caso la struttura stessa del linguaggio PHP, che unisce al supporto alla programmazione procedurale quello per la programmazione orientata agli oggetti, ci viene in aiuto: possiamo combinare i componenti che ci vengono forniti dal linguaggio per costruire strutture operative che si adattino alle nostre esigenze.

Sfortunatamente non tutte le nostre esigenze possono però essere soddisfatte in questo modo: potrebbero presentarsi casi in cui delle routine debbano essere eseguite con basso utilizzo di memoria o di cicli macchina, oppure si potrebbe voler sfruttare una libreria scritta da terzi in un linguaggio differente da PHP anziché doverla riscrivere dal nulla. In queste situazioni particolari lo Zend Engine da solo può fare ben poco; per questo motivo i creatori di PHP hanno optato per fornire un sistema che permetta allo sviluppatore esperto di estendere le potenzialità del motore fornendo funzionalità native difficilmente emulabili sfruttando solamente PHP.

Il motore di esecuzione di PHP è quindi capace di caricare estensioni scritte in linguaggio C/C++ (il linguaggio con cui lo Zend Engine stesso è stato sviluppato) che seguano una determinata struttura e di permettere l'utilizzo delle funzioni definite nativamente all'interno dei propri script. La scrittura di estensioni non è affatto un'operazione poco comune: l'installazione standard di PHP fornisce già molte estensioni che permettono di svolgere svariate operazioni (basti pensare al supporto per MySQL o per XML), e svariati sviluppatori si sono occupati di sviluppare e fornire estensioni personalizzate al fine di permettere ai programmatori che utilizzano PHP di affrontare varie problematiche in modo molto più semplice. È possibile trovare moltissime estensioni per PHP sulla rete: Sourceforge e PECL sono due fonti molto ricche e di sicuro interesse.

In questa guida cercheremo di spiegare in modo dettagliato ed esauriente come scrivere estensioni per PHP. Abbiamo deciso di utilizzare Linux come piattaforma di sviluppo e di testing dato che la maggior parte dei server che offrono il supporto PHP girano su piattaforma LAMP (Linux Apache Php MySQL). La guida seguirà una struttura prettamente didattica, anche se verranno comunque forniti alcuni esempi pratici al fine di rendere più piacevole la lettura e più comprensibili i concetti esposti. Prima di cominciare è necessario che abbiate una buona conoscenza del linguaggio C e che abbiate disponibili i sorgenti della versione di PHP per cui desiderate scrivere le vostre estensioni.

Ti consigliamo anche