Ext_skel: generare lo scheletro dell'estensione



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.

Ultimi articoli PHP

Autenticazione con Facebook in applicazioni Symfony

Come usare Facebook per autenticare l'utente in un'applicazione Web...

Continuous Integration: un'introduzione

Che cos'è la Continuous Integration? Una breve introduzione alla CI,...

Namespace in PHP: esempi pratici di utilizzo

I namespace, introdotti con PHP 5.3, facilitano la programmazione...

Kohana: il framework tutto open

Kohana è un framework derivato, anni fa, da CodeIgniter. Il suo...

Zend Framework: il re dei framework php

Zend Framework è il framework php più noto. Comprende un solido...

Altri articoli

Guide PHP

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...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

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 Google AdWords Base

27 Febbraio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

28 Marzo 2012 a Roma
Disponibilità: 7 Posti