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

Ext_skel: generare lo scheletro dell'estensione

L'uso del programma ext_skel.php per generare lo scheletro delle estensioni PHP
L'uso del programma ext_skel.php per generare lo scheletro delle estensioni PHP
Link copiato negli appunti

Le estensioni per PHP possono essere compilate come librerie (dll per i sistemi Windows, so per quelli Linux) linkate dinamicamente o staticamente. Affinché un'estensione funzioni correttamente è necessario che segua delle rigide regole strutturali. Al fine di facilitare lo sviluppo delle estensioni, i creatori del linguaggio PHP hanno deciso di fornirci due strumenti essenziali che permettono allo sviluppatore di focalizzarsi sulla soluzione del problema piuttosto che sulla struttura dell'estensione: un set di API molto potente che comprende svariate funzioni di utilità e macro che limitano notevolmente lo spreco di tempo in fase di sviluppo, ed un semplice programma capace di generare l'infrastruttura di un estensione partendo da un insieme di dichiarazioni molto semplici. Il programma in questione si chiama ext_skel.php, ed è reperibile nella cartella ext dei sorgenti di PHP.

Ext_skel esegue il parsing di un documento contenente le definizioni dei prototipi delle funzioni che desideriamo implementare nella nostra estensione, e produce lo scheletro di quest'ultima. Il file contenente i prototipi è formato da una serie di righe, ognuna delle quali dovrà seguire questo schema:

tipo_restituito nome_funzione ([tipo parametro [, tipo parametro]*]?) commento?

Il file di prototipi così generato potrà essere passato al programma per essere processato. Ext_skel accetta diversi parametri, elencati qui di seguito:

  • --proto=file: percorso al file che contiene la definizione dei prototipi;
  • --xml: informa il programma di generare anche della documentazione XML;
  • --skel=dir: percorso nel quale verranno salvati i file generati;
  • --no-help: informa il programma di tralasciare la scrittura di commenti di aiuto nei file generati;
  • --stubs=file: tralascia la generazione di elementi specifici per un modulo, permettendo così l'integrazione dei prototipi all'interno di estensioni già esistenti;
  • --extname=name: il nome dell'estensione;

Ext_skel genera anche i file necessari per la corretta compilazione delle estensioni, dei file necessari per effettuare il testing e qualche file aggiuntivo, che verranno posizionati nella cartella specificata come valore dell'opzione –skel. È da ricordare che il file .m4 prodotto dovrà essere editato manualmente al fine di permettere la corretta compilazione dell'estensione.

Ti consigliamo anche