CodeIgniter, IDE e completamento automatico

7 giugno 2012 - In: CodeIgniter, Programmazione - Tag: , , 2 Comments

CodeIgniter è sicuramente tra i migliori framework per PHP, grazie alle sue caratteristiche di leggerezza e velocità, unite ad un’ottima implementazione del pattern MVC, ad un’eccellente documentazione, e alla disponibilità di tonnellate di plugin per estenderne le funzionalità. Se, come me, preferite sviluppare codice utilizzando un buon IDE, scoprirete presto la necessità di poter contare sulla funzione di completamento automatico anche per la sintassi del vostro framework preferito, funzione che non è così diffusa, anche tra i più noti software di sviluppo integrato.

In questo articolo vedremo come modificare CodeIgniter per dotare Aptana 3 Studio, uno dei più noti e apprezzati IDE, della funzione di completamento automatico del codice, integrando la sintassi completa del framework (per le funzioni del core, mentre eventuali librerie aggiuntive non saranno disponibili). Vedremo anche come preparare un’installazione fondamentale di CodeIgniter da tenere da parte, pronta per essere usata come “sorgente” per ogni nuovo progetto, in modo che si possa essere immediatamente operativi senza dover ripetere procedure già effettuate, nel pieno rispetto dello spirito di “riciclo e minimalismo” che sta alla base del concetto stesso di framework.

Questo articolo presuppone che:

  • abbiamo a disposizione un ambiente di sviluppo LAMP (o simili) perfettamente funzionante, configurato per le esigenze minime di CodeIgniter (PHP 5.1.6 o successivi, MySQL 4.1 o successivi); CodeIgniter supporta anche altri tipi di database, come MySQLi, MS SQL, PostgresSQL, Oracle, SQLite, attraverso ODBC;
  • abbiamo installato e opportunamente configurato Aptana 3 Studio sul nostro sistema, indicando la posizione della root del nostro server di sviluppo come posizione di default per tutti i progetti.

Aptana 3 Studio è un IDE originariamente rilasciato come plugin Eclipse, e reingegnerizzato di recente come programma stand-alone (ma sempre con le sue radici in Eclipse), è diventato rapidamente un punto di riferimento tra i programmatori, grazie alla gran quantità di funzioni a disposizione, e per il fatto di essere rilasciato come opensource, quindi a costo zero per l’utilizzatore finale. Grazie al supporto diretto di tutte le più recenti tecnologie, come HTML5, CSS3, PHP5.x, Python, Javascript, Ruby on Rails, Aptana 3 Studio è diventato de facto uno standard di riferimento tra gli IDE sul mercato, conquistandosi una larga fetta di affezionati utenti (tra cui il sottoscritto).

Una delle funzioni di cui, però, questo IDE non è dotato è la capacità di incorporare i tanti framework ormai diffusi nel mondo, in modo da poter offrire il relativo code autocompletion durante la stesura del codice. Una funzione del genere non è soltanto un vezzo per il programmatore; il completamento automatico è una sorta di “correzione ortografica” messa in atto già prima di scrivere, e che può evitarci tutti quei fastidiosi errori ortografici (parentesi saltate, virgole perse, formattazione traballante) che finiscono per essere veramente noiosi durante il lavoro, soprattutto quando ci si vuole concentrare sul flusso operativo piuttosto che sulla digitazione e l’indentatura del codice.

Un buon programmatore, con un IDE dotato di completamento automatico, letteralmente scrive codice alla velocità della luce.

Tanto per cominciare, dotiamoci dell’installazione originale di CodeIgniter (al momento della scrittura di questo articolo, l’ultima release disponibile è la 2.1.0):

Una volta ottenuto l’archivio, procediamo con una normale installazione di CodeIgniter. Al termine della procedura, avremo una cartella contenente tutti i file del framework, pronti per essere utilizzati. CodeIgniter offre una pagina di Hello World! per permettervi di verificare che il setup sia andato a buon fine. Se non sapete come risolvere la fase di installazione e configurazione del framework, smettete di leggere questo articolo e consultate la guida ufficiale di CodeIgniter.

Spostiamo (se non lo abbiamo già fatto) questa cartella nella root del nostro web server, e rinominiamola in “CI_base” (possiamo in realtà scegliere qualsiasi nome, purché ci aiuti a ricordare che d’ora in poi questa cartella è da considerarsi come una sorgente pulita, da copiare in ogni nuovo progetto, e non da modificare direttamente). Avremo quindi la cartella disponibile nella seguente posizione:

  • <wwwroot>/CI_base/

che, lato server, sarà accessibile all’indirizzo:

  • http://localhost/CI_base/

Nella cartella, identifichiamo i seguenti due file:

  • <wwwroot>/CI_base/system/core/model.php
  • <wwwroot>/CI_base/system/core/controller.php

Questi due file dovranno essere leggermente modificati. In pratica, dovremo copiare e incollare il seguente codice all’interno di entrambi i suddetti file:

Attenzione: è fondamentale che questa porzione di codice sia inserita all’interno della dichiarazione di classe che compare nei due file indicati, e non in una funzione, pena il non funzionamento del sistema di autocompletamento del codice.

A questo punto il framework è pronto per essere incorporato in nuovo progetto in Aptana 3 Studio. Se vogliamo, a questo punto possiamo inserire nel framework anche tutti i plugin che normalmente utilizziamo nel nostro lavoro, in modo da avere un’installazione di CodeIgniter fresca e completa di tutti gli strumenti che ci servono, pronta ad essere “trapiantata” in un nuovo progetto in pochi istanti.

Posizioniamoci nella root del nostro web server e creiamo una nuova cartella, destinata a contenere il nuovo progetto. In questo esempio, chiameremo la cartella “CI_test”. Copiamo dentro questa cartella tutti i file e le cartelle che si trovano in CI_base, quindi lanciamo Aptana 3 Studio.

Terminato il caricamento del workbench, ci troviamo nell’interfaccia del programma. Scegliamo dal menu la voce file/new/PHP Project; compare la finestra di configurazione del nuovo progetto, nel campo Project Name scriviamo: “CI_test”, lasciando abilitata la funzione Use default location, che dovrebbe indicare la directory dov’è posizionata la root del nostro web server di sviluppo (nel mio caso “F:\wwwroot\”). A questo punto, nel campo Location dovrebbe comparire il percorso completo del nostro nuovo progetto:

F:\wwwroot\CI_test\

Concludiamo la configurazione cliccando sul tasto Finish e attendiamo che Aptana importi i file e attivi il progetto.

Il Project Explorer di Aptana 3 Studio ci permette di osservare la gerarchia di cartelle e file che compongono il progetto che abbiamo appena creato. Se abbiamo operato senza errori, dovremmo trovare una situazione del genere:

.

Clicchiamo adesso sulla voce di menu Window/Preferences, e nella finestra che compare scegliamo il percorso Aptana Studio/Editors/PHP/Libraries. Clicchiamo sul pulsante New user library e inseriamo un nome per la nuova libreria che vogliamo creare (ad esempio: “CI_autocompletion”). Nel campo Library content clicchiamo sul pulsante Add folder e andiamo a selezionare la cartella “<wwwroot>/CI_base” precedentemente preparata. Al termine, la cartella sarà elencata nella finestra di dialogo di Aptana, con il segno di spunta attivato:

.

Questa nuova libreria permetterà ad Aptana 3 Studio di effettuare l’autocompletamento del codice anche sulla sintassi di CodeIgniter. Purtroppo, come dicevamo in apertura, l’autocompletamento sarà limitato alle sole funzioni core di CodeIgniter, mentre eventuali library aggiuntive (con le rispettive sintassi) non verranno incorporate nell’autocompletamento.

Confermiamo cliccando sul tasto OK, e siamo in dirittura d’arrivo.

Con un click del tasto destro sul nome del progetto accediamo alle sue Properties. Selezioniamo la voce PHP Buildpath, e a destra scegliamo il tab Libraries. La voce Use project specific settings deve essere attivata, e nel riquadro immediatamente sottostante deve comparire la voce “CI_autocompletion”, anch’essa con il suo segno di spunta attivato. Confermiamo con OK per completare la configurazione del progetto.

Da questo momento sarà possibile accedere alla sintassi propria di CodeIgniter anche utilizzando Aptana 3 Studio. Come verifica finale, creiamo un nuovo file PHP vuoto, e cominciamo a scrivere una tipica dichiarazione di nuova classe, ad esempio una cosa del genere:

Durante la battitura del nome della classe CI_Controller, Aptana dovrebbe proporre automaticamente il completamento dello statement.

Buon lavoro a tutti!

 

Questo articolo è distribuito sotto licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate - 3.0 Unported (CC BY-NC-ND 3.0). Per utilizzi di questo testo al di fuori della licenza Creative Commons, è necessario contattare l'autore per richiedere il consenso esplicito scritto.




2 Responses to “CodeIgniter, IDE e completamento automatico”

  1. Satie scrive:

    Eccellente post. Sto usando CI da pochi mesi e lo trovo fantastico, veloce da comprendere.
    Lavorando in una webagency, penso sia assolutamente conciliabile imparare CI e applicarlo in produzione.

    La curva d'apprendimento, se lavori, più bassa è meglio è.

    Grazie per il post, utile.

    • DeepVoid scrive:

      Ti ringrazio moltissimo per il commento :-)

      Effettivamente l'utilizzo di un framework credo sia diventato oggi indispensabile, un po' per i ritmi convulsi con cui ci si trova a sviluppare, un po' per il fatto che ti aiutano a produrre codice pulito, specie se si deve lavorare in gruppo o se si deve "trasmettere in eredità" il proprio lavoro.

      Appena ho un attimo vorrei dare un'occhiata anche a Yii…

Leave a Reply

You must be logged in to post a comment.