Archive for the 'CodeIgniter' Category

Progetto Step by Step CodeIgniter – I Controller

In questo passaggio del tutorial a CodeIgniter vediamo finalmente l’elemento del framework che si occupa della logica dell’applicazione, e cioè il controller. Come vedremo questo elemento è quello che viene eseguito direttamente dall’utente ed è ciò che mette in comunicazione i dati (e cioè i modelli) con l’output (le viste).

CodeIgniter infatti, tramite la classe Routing, si occupa di leggere l’URL digitato e indirizzare all’apposito controller il metodo da eseguire. Ad esempio, digitando l’indirizzo http://www.dominio.com/index.php/nome_controller/nome_metodo/ CodeIgniter andrà a richiamare il controller nome_controller ed eseguirà il metodo nome_metodo. Se invece viene omesso nome_metodo verrà richiamato il metodo di default chiamato index.

Read more »

Rilasciato CodeIgniter 1.7

E’ stata rilasciata il 23 ottobre la nuova versione di CodeIgniter, la 1.7.

La novità più rilevante è la nuova classe Form Validation che presenta diverse novità rispetto alla precedente.

In pratica viene semplificato e velocizzato il modo in cui si impostano i campi, le label e le regole. Anziché usare i metodi $this->validation->set_fields() e $this->validation->set_rules() si può utilizzare un unico comando per ciascun input — $this->form_validation->set_rules(NOMECAMPO, LABEL, REGOLA); — oppure impostare direttamente un array multidimensionale, per tutti i campi, in una sola volta. Ulteriore vantaggio è la possibilità di impostare le regole di validazione su un file di configurazione esterno, snellendo quindi il codice da usare nel controller.

Anche il codice lato vista, per visualizzare gli errori, beneficia dell’introduzione di appositi helper per visualizzare i messaggi di errore e per ripopolare il form. Anziché dover utilizzare i metodi $this->validation->nomecampo e $this->validation->nomecampo_error sarà sufficiente utilizzare le funzioni set_value('nomecampo') e form_error('nomecampo')

Per tutti i dettagli e le altre novità vi rimando alla pagina di annuncio e al relativo change log

Progetto Step by Step Codeigniter – l’applicazione (edit)

Riprendo dopo qualche tempo il tutorial su CodeIgniter, dato che ho ultimato una prima versione preliminare dell’applicazione (molto scarna, ma rende l’idea). Potete quindi già testarne il funzionamento e seguire i prossimi tutorial direttamente sul codice finito.

L’installazione è semplicissima se avete un webserver php attivo con mysql configurato. Provate visitando l’indirizzo http://localhost/ (altrimenti esistono ambienti preconfigurati come XAMPP per windows o MAMP per macintosh molto facili da installare).

Innanzitutto scaricate il file contenente tutto il necessario: [Scarica]

Create poi una cartella (io l’ho chiamata “homeDB”) all’interno del vostro “localhost” (dove avete le cartelle dei vostri progetti in php, per intenderci) e scompattate all’interno il file zip. Quest’ultimo contiene, oltre al framework e all’applicazione, un file SQL per creare le tabelle necessarie (eseguite la query all’interno di phpMyAdmin o della vostra interfaccia MySQL preferita).

Ora non resta che modificare la configurazione dell’applicazione per adattarla al vostro ambiente. Per prima cosa aprite il file config.php all’interno di [vostraCartella]/system/application/config/ e modificate la riga $config['base_url'] = "http://127.0.0.1/homeDB/"; con la vostra cartella al posto di homeDB.

In secondo luogo bisognerà indicare i nuovi parametri di connessione al database. Per farlo aprite database.php nella stessa cartella e modificate in fondo alla pagina i parametri con quelli corretti.

A questo punto tutto dovrebbe essere configurato correttamente e dovreste già poter vedere l’applicazione funzionante visitando l’indirizzo http://localhost/[vostraCartella]. Potete creare qualche record fittizio per provare il tutto: vi suggerisco di partire dalle tipologie e dagli stati dato che sono campi obbligatori. Potete anche vedere, nell’inserimento degli articoli, la libreria Validation fornita direttamente da CodeIgniter (provate a creare un articolo vuoto).

Nei prossimi giorni vedremo gli altri elementi dell’applicazione, ovvero i controller e le viste, nonché l’utilizzo di helper e librerie.

Edit: ho messo on-line una demo di questo primo abbozzo di applicazione a questo indirizzo se volete provarla “dal vivo”. Mi raccomando non scrivete oscenità :)

Progetto step by step CodeIgniter – i modelli

E’ finalmente giunto il momento di cominciare ad usare CodeIgniter. Come detto nel precedente step vediamo come strutturare i modelli della nostra applicazione all’interno del framework CodeIgniter, seguendo il pattern MVC su cui si basa.

Read more »

Progetto step by step CodeIgniter – il database

Vi avevo annunciato un paio di post fa il piccolo progetto in CodeIgniter che volevo realizzare. Si tratta di una piccola webapplication per tenere organizzata la propria collezione di cd, dvd e vhs.

Nel capitolo introduttivo ho descritto genericamente il funzionamento e le entità in gioco, ora vediamo più concretamente come sarà strutturata definendo le tabelle del nostro database.

Read more »

Progetto step by step CodeIgniter – introduzione

E01C14E1-9AAA-4303-B8F6-57E6B3C586B6.jpgIn questi giorni di ferie sto sistemando i cd e dvd che ho a casa e – come molti di voi, immagino – ho pile di cd e dvd in svariati posti. Per adesso cerco di organizzarmi scrivendo foglietti di carta, post-it, tabelle excel. Ovviamente con risultati praticamente nulli.

Mi è venuta quindi l’idea malsana di stendere un piccolo db per gestire il proprio archivio di cd, dvd e simili. Ovviamente penserete a cose tipo Bento o peggio ancora Access. In realtà, dato che vorrei costringere un po’ tutta la famiglia a organizzare meglio le cose ho pensato di creare una web-application accessibile on-line, in modo che ciascuno possa intervenire dal proprio pc (o mac ;) ) lavorando direttamente sul web.

E quale occasione se non questa per buttare giù un piccolo tutorial passo passo sul framework CodeIgniter? Ecco i dettagli del progetto che andrò a realizzare:

Read more »