Portfolio

23 Apr, 2011

Imparare le basi di CodeIgniter

In questi anni come ho scritto nell’articolo precedente ci ho provato un po’ di volte e fare il balzo e mi sono avvicinato a molti linguaggi e derivanti  framework di sviluppo ma tutti avevano una curva di apprendimento troppo ripida e di conseguenza finivo a sbattere la testa sul muro molto presto.

CodeIgniter lo conosco come nome da anni e avevo letto molti articoli entusiasti tanto che l’avevo consigliato al mio sviluppatore di fiducia e grazie ad esso abbiamo realizzato qualche progetto davvero interessante ma non mi sono mai applicato seriamente  ad impararne le basi.

Mi accorgo solo ora di quanto tempo ho preso nel frattempo perché, da totale principiante quale che sono, impararne i concetti e caratteristiche principali è davvero alla portata di tutti.

Tutte le risorse che andrò a segnalare sono in inglese e gratuite, purtroppo in italiano non ho trovato niente di valido.

Ho iniziato con la serie di video realizzati da Jeffrey Way per Nettuts, tratta l’argomento in mondo molto semplice e comprensibile,   nonostante le tecniche che vengono insegnate non siano le più pratiche quando si vorrà realizzare qualcosa, pone le basi per poter comprendere la seguente serie di video tutorials.

Una volta padroneggiate le tecniche base si potrà affrontare una serie realizzata da Shawn McCool che davvero merità tutta la mia gratitudine perchè va a replicare parte di quello che avremo già imparato ma con un ottica professionale, quindi andando a creare del codice molto più mantenibile e riutilizzabile.

Studiata a memoria anche questa serie avrete tutte le conoscenze base necessarie per poter realizzare il classico blog con funzionalità ammnistrative come aggiungere/modificare/cancellare un articolo, aggiungere commenti per ogni singolo articolo, creare un sistema di accesso utenti, ecc.

I video tutorial di qualità si fermano qui, se vorrete proseguire potrete prima di tutto leggervi il manuale online (fatto stupendamente bene e completo di tutto) che vi darà una idea di fin dove ci si può spingere, non preoccupatevi se non capirete tutto subito, faccio anch’io fatica a comprendere certi concetti ma con un po’ di pazienza e una mano dalle risorse che segnalerò dis eguito e niente risulterà impossibile.

Nel caso di qualche dubbio ci sono 2 risorse che mi hanno davvero aiutato tantissimo (sono entrambe molto attive e mi è bastato cercare per trovare tutte le risposte alle mie domande):

  • CodeIgniter Forum: il forum ufficiale e pieno di tutto, più focalizzato sui  consigli su come impostare al meglio una determinata funzionalità o procedura
  • StackOverflow: anch’esso ricco di domande e risposte riguardanti questo framework, potrete trovare le risposte a molte domande specifiche e dato che non è solo dedicato a CodeIgniter potrete trovare risposte anche più generali riguardanti PHP su cui in pratica CodeIgniter si basa.

Se siete interessati potrei potrei fare una piccolissima serie di articoli dedicati a CodeIgniter con spiegate le caratteristiche (cos’è un framework, cos’è un modello mvc e come si usa, quali sono i requisiti per iniziare a realizzare un sito).

Per ora è tutto, se avete qualsiasi tipo di domanda chiedete pure attraverso i commenti.

Sviluppo 6 Commenti

6 Commenti a “Imparare le basi di CodeIgniter”

  1. sergejpinka

    Ciao anche io sono alle primissime armi con CI (l’ho scaricato oggi :-) ) ti ringrazio dell’articolo e delle varie segnalazioni dei vari tutorial.

    Sarebbe interessante tradurre il manuale di CI. Forse un giorno… :-)

  2. Raffaele

    Ciao Sergio, benvenuto a bordo! spero che in futuro vengano creati nuovi tutorial per poter andare più a fondo nelle funzionalità di CI. Sarebbe bello il manuale in italiano ma penso che per come è impostato ora ci sono più esempi che descrizioni (cosa che io trovo stupenda) perciò alla fine basta sperimentare un po’ e magari tenere aperto google translate se qualcoda non ha senso, meglio ancora se ci fosse una community italiana dedicata a CI, ma forse è chiedere troppo.

  3. Fra Ore

    Ciao Raffaele!

    Anche io mi sono imbattuto in questo tuo sito cercando risorse su CI.

    Sono un web designer poco esperto di programmazioni (mi ci sto dedicando da quest’anno).

    Ho deciso di provare ad iniziare con CI visto che come anche te hai scritto sembrerebbe il + semplice da apprendere.

    Vado subito al dunque. Ti faccio una domanda!

    come puoi notare qui

    http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-4-newsletter-signup/comment-page-2/#comment-372323

    sto iniziando a studiare con queste guide. Belle, molto utili per capire l’approccio, ma come puoi leggere dal mio commento non sono ancora entrato pienamente nell’ottica MVC.

    Per esempio come dico nel mio commento (inglese by googleTranslate!) non capisco perchè in quel videotutorial non venga creato nessun Model… Quando si usa il model? quando il controller?! cosa è meglio mettere in uno piuttosto che nell’altro?! Qual’è la seguenza più logica nella programmazione MVC?!

    Se ti va intando di aiutarmi a capire queste incertezze te ne sarei proprio grato!

    PS: La guida di CI è abbastanza tradotta sul sito italiano. L’unica pecca è che va sempre confrontata con quella inglese poichè non è aggiornata a CI 2. Te lavori col 1.7 o con l’ultima versione?!

    Grazie ancora! Fra!

  4. Raffaele

    Ciao Fra, allora prima di tutto ti consiglio di seguire prima i tutorial di Shawn McCool, li ho trovati molto più illuminanti per quanto riguarda delle tecniche concrete da utilizzare in un lavoro, e dove spiega più chiaramente la distinzione tra model e controller.

    In pratica i model di occupano di inviare/ricevere/cancellare dati dal db mentre i controller sono dedicati a creare il backend per le view. Un esempio può essere un semplice form per inserire un commento:

    View: html del form, i dati vengono inseriti e inviati al controller
    Controller: riceve i dati inseriti nel form e li convalida, se va tutto bene allora invia questi dati al model
    Model: riceve i dati dal controller, esegue un altro controllo che sia tutto ok e poi li salva nel db

    I vantaggi di questa separazione è che un determinato modello con tutti le istruzioni per, ad esempio, salvare un commento può essere richiamato da quanti controller vuoi mentre se metti tutto insieme ogni volta che vuoi aggiungere un form per i commenti ad un controller nuovo devi ripete tutto il codice del modello con il rischio che il giorno che vuoi modificare qualcosa devi ripetere la modifica ovunque.

    Anch’io all’inizio era pieno di dubbi e ne è passato di tempo prima che riuscissi a comprendere bene i vantaggi del mvc, ma una volta fatte un paio di prove ti assicuro che tutto diventerà più chiaro.

  5. Fra Ore

    Ciao Raffaele!

    Ti ho scritto un commento poco sopra ad Agosto.

    Allora oggi mentre giravo per i preferiti etichettati codeigniter sono tornato pensando di trovare nuovi post… Ma niente!

    allora ti chiedo io come va il tuo lavoro, se hai appreso ancora qualcosa di nuovo su CI e se hai intensione di scriverne!

    Buona serata intanto!

    Fra!

  6. Raffaele

    Ciao Fra, no purtroppo, dopo l’esperienza di quei mesi con CodeIgniter non ho più avuto modo di applicarmi seriamente per via del poco tempo che avrei potuto dedicargli. Spero presto di poter riprendere in mano il manuale e provare qualcosa di nuovo.

    Raffaele

Lascia un commento

(richiesta)

(non verrà pubblicata) (richiesta)

Servizi

  • Consulenza

    Fornisco consulenze e analisi accurate del tuo business per aiutarti ad usufruire al meglio delle possibilità che il web offre.

  • Design

    Realizzo interfacce sulla base delle reali esigenze degli utenti, accattivanti e con una particolare attenzione all'usabilità.

  • Implementazione Cms

    Progettazione e realizzazione di template altamente dinamici per Wordpress, dal semplice blog personale al magazine multi autore.

  • Ecommerce

    Realizzo siti ecommerce veloci e affidabili con un alto tasso di conversione per far volare le vendite mantenedo i costi di gestione al minimo.

“Rapidiously leverage other's competitive channels with enterprise methods of empowerment. Authoritatively synergize prospective applications whereas cooperative”

Marco Magnocavallo - Blogo

Chi sono

Mi chiamo Raffaele Rasini e sono un web designer e consulente specializzato in servizi e applicazioni multimediali di nuova generazione.

Fai un salto nel Portfolio, oppure Contattami per fare quattro chiacchiere.

Last.fm

  • Todd Edwards
  • Tipper
  • The Flashbulb
  • Dilated Peoples
  • deadmau5
  • Blu Mar Ten
  • Caparezza
  • Daft Punk
  • David Guetta