Installazione CodeIgniter: prime impressioni

11 Oct 2019 | M.A.D.R.

Abbiamo già citato nell'articolo precedente alcune caratteristiche di questo Framework CodeIgniter.

Piccola premessa obbligata...

Oggi passeremo al setaccio la procedura d'installazione dello stesso e cercheremo di orientarci nella struttura di questo bellissimo e completo Stile di programmazione...

Si è vero, non ho mai accennato a questo, ma ogni framework detta le regole sulle best practices di scrittura del codice, questo non vuol dire che siamo obbligati a scrivere in un determinato modo, ma semplicemente siamo invitati a farlo.

A questo punto, spero vi siate incuriositi, non ci resta che...

  • Scaricare il nostro framework CodeIgniter
  • Preparare una directory sul nostro server per ospitare i file
  • Copiare il contenuto del file scaricato nella directory del server
  • Avviare il nostro server web
  • e... BASTA.

Fatti questi semplici passaggi, la struttura della nostra nuova applicazione sarà di questo tipo:

Struttura CodeIgniter
Struttura di base CodeIgniter, esclusa la directory vendor che spetterà a noi installarla

Come si evince dall'immagine potrebbe sembrare una semplicissima applicazione web scritta in php, ma non è del tutto vero...

Possiamo sin da subito immaginare che tutti i nostri file saranno contenuti nella directory application, mentre la directory system è la directory del CORE di CodeIgniter (quindi non dovremmo "mai" toccarla).

Aprendo la directory "application" noteremo subito come sia strutturato e diviso per "sezioni" e logica il framework.

CodeIgniter Application

Cosa notiamo? La distinzione di directory per la nostra applicazione... Questa struttura seppur semplice fa capire come sia facile implementare il nostro modello MVC, infatti:

  • Controller: file di classi che faranno da background e gestiranno le nostre richieste.
  • Models: file di classi che gestiranno i modelli dati dell'applicazione
  • Views: file scritti in php e/o con un template engine per costruire l'output

Questa semplificazione ci permette di avere subito pronto uno strumento potente in pochissimo tempo.

Altre directory

  • Cache: .... che dire??? ... la cache d'applicazione...
  • Config: tutti i file di configurazione, dalla semplice configurazione del nome applicazioni, alle più disparate configurazioni.
  • Helpers: file di supporto (naturalmente funzioni) scritti in puro php, una nota doverosa, tutti i file in questa directory dovranno avere come postfisso "_helpers.php", quindi immaginando di aver creato un file helper per risolvere una semplice operazione matematica "math_helpers.php"
  • Logs: ... i log del sistema
  • Libraries: sono le nostre classi che andranno ad estendere CodeIgniter, naturalmente solo qualora sentissimo necessità di crearle
  • Third_party: librerie di terze parti
  • Hooks: sono dei file che vengono utilizzati per creare azioni specifiche in determinate circostanze, non semplifico e non approfondisco in quanto per questo mini tutorial non serve...

Come funziona il tutto?

Dopo aver installato e configurato il server (qui la guida per xampp in locale per domini fittizi), appena apriamo il browser e puntiamo alla nostra istanza di CI saremo catapultati su questa pagina:

iCI
Controller Welcome - Metodo Index

Questo schermata sta a significare che l'installazione è andata a buon fine, per provare a creare una nuova rotta basta andare in "application/controller/welcome.php" e creare un nuovo metodo del tipo:

public function demo(){
    echo 'Ciao sono il tuo primo metodo su CodeIgniter';
}

Quindi puntiamo all'indirizzo del nostro server in questo modo: http://nostroserver/index.php/controller/metodo

http://nostroserver/index.php/welcome/demo

Ed ecco a voi il nuovo giocattolino web.

Codeigniter VS Laravel: chi vince la sfida?

11 Oct 2019 | M.A.D.R.

Oggi l'evoluzione dei linguaggi sono sempre più orientate verso la semplificazione del codice, l’ottimizzazione delle funzionalità e la velocità di esecuzione. Codeigniter il nonno di tutti i framework, riesce ancora a tener testa al gio...

Codeigniter Migration: Versioning Database

11 Oct 2019 | M.A.D.R.

Per “migration” s'intende le gestione delle varie versioni di un database. Grazie al concetto di migration possiamo effettuare tutte le operazioni sul database che abitualmente effetuiamo con strumenti come phpMyAdmin, Toad, MySQL...

Codeigniter CLI: Eseguiamo lavori da linea di comando.

11 Oct 2019 | M.A.D.R.

Come tutti sapranno un framework che si rispetti mette a disposizione la CLI (command line interface), la quale permette di richiamare comandi più o meno complessi. A cosa servono? Per semplicità soffermiamoci solo ad alcuni principali utili...

Codeigniter: Estendiamo il framework con gli HOOKS

11 Oct 2019 | M.A.D.R.

Spesso i dev hanno necessità di modificare il comportamento ed il flusso dell'applicazione, codeigniter mette a disposizione gli HOOKS. Lavorare con un framework, anche se molto semplice, spesso induce ad errori comuni e poco sicuri, basti pensa...

Codeigniter: Profilazione dell'applicazione

11 Oct 2019 | M.A.D.R.

Seguendo l'articolo del Banchmark, per completare le operazioni di performance del nostro codice, Codeigniter permette la creazione di una profilazione dettagliata dell'esecuzione del nostro codice. La classe Profiler visualizzerà i risultati de...

CodeIgniter: Analizziamo le performance del nostro codice

11 Oct 2019 | M.A.D.R.

Ogni programmatore ad un certo punto dello sviluppo del codice, ha necessità di analizzare le performance della propria applicazione/funzione/metodo, infatti CodeIgniter ha una classe di gestione Benchmark sempre attiva, che consente di calcolare ...

Codeigniter: Template Engine o Template Parser

11 Oct 2019 | M.A.D.R.

Salve a tutti, dopo aver commentato la funzione dei controller e dei model non resta che parlare delle view, o come meglio definiti Template Engine o Template Parser. Codeigniter non ha un vero e proprio Template Engine, ma sfrutta una classe nat...

Codeigniter: Interazione con i database

11 Oct 2019 | M.A.D.R.

Continuiamo questa piccola avventura: CodeIgniter può interagire con i database attraverso un model (ma non è obbligatorio) o attraverso un controller (altamente sconsigliato). Cosa significa interagire con un database? Possiamo recuperare ...

CodeIgniter: Flussi di funzionamento "Router"

11 Oct 2019 | M.A.D.R.

Quello che uno sviluppatore, abituato a interagire con i files php, deve capire la centralità del file index.php, ossia il cuore di un progetto Framework, ed in questo caso Codeigniter router. Non esistono altre pagine all’infuori di index.ph...

Installazione CodeIgniter: prime impressioni

11 Oct 2019 | M.A.D.R.

Abbiamo già citato nell'articolo precedente alcune caratteristiche di questo Framework CodeIgniter. Piccola premessa obbligata... Oggi passeremo al setaccio la procedura d'installazione dello stesso e cercheremo di orientarci nella struttura ...

CodeIgniter - Un framework di tutto rispetto

11 Oct 2019 | M.A.D.R.

Arriva un momento, nel percorso lavorativo di un programmatore Php, nel quale si avverte la mancanza di un framework che possa semplificare la gestione di flussi più o meno complessi. I così detti framework contengono metodi e funzioni in rispo...

Soluzioni complete per ogni esigenza