Articoli

CodeIgniter, Aruba e .htaccess

Chi utilizza Aruba per i propri progetti realizzati in CodeIgniter, si sarà trovato sicuramente di fronte al fatidico messaggio di errore “No input file specified”.

Innanzitutto specifichiamo che la nostra versione di PHP deve essere almeno la 5.3.
Detto cio’, cerchiamo di capire come far funzionare correttamente la nostra piattaforma.

Il problema sta nella cattiva interpretazione delle URL, le quali, non venendo “intercettate” nel modo corretto, non fanno funzionare nel modo opportuno il mod_rewrite di Apache.

La cosa anomala è che omettendo la dicitura “index.php” all’interno delle URL e attivando la funzionalità di riscrittura di Apache, tutto funziona correttamente.

Come risolvere questa situazione?

Impostiamo il file .htaccess, presente nella root del nostro progetto, in questo modo:


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
</IfModule>

La differenza fondamentale rispetto ad un “normale” mod_rewrite sta nella presenza del ? dopo ogni index.php. Questa permette di intercettare e quindi di interpretare in maniera corretta la URL.

Come ultima cosa, assicuariamoci che il file config.php (presente nella cartella application/folder) alla riga 29 abbia questa impostazione: $config[‘index_page’] = ”;.

Hai bisogno di consulenza su questo argomento?

 

 

Pyramyd Il Gioco della Vita – Non un semplice gioco da tavolo

“La vita è un gioco!”

Questo è il messaggio che il nuovo gioco da tavolo (riduttivo chiamarlo così), ideato, realizzato e distribuito dalla italianissima Kontrast s.r.l. , vuole trasmettere.

Tutte le informazioni, le regole del gioco, i tutorial, vi rimandiamo al sito web Pyramyd – Il Gioco della Vita

Ciò che ha interessato il nostro lavoro, è stato lo sviluppo dell’intera piattaforma web.

Siamo partiti con l’adattamento del design grafico proposto dal Cliente, abbiamo poi realizzato tutte le funzionalità utente fino ad arrivare allo sviluppo del pannello di controllo per la gestione dei contenuti.

A tutti gli effetti, stiamo parlando di un CMS realizzato ad hoc!

Alcune delle tecnologie coinvolte nel progetto sono HTML5, CSS3, Bootstrap v3, jQuery, AJAX, oltre al framework CodeIgniter (basato sul linguaggio PHP e database MySQL), strumento con il quale realizziamo gran parte dei nostri progetti.

Ricordiamo che è possibile lasciare un messaggio (ovviamente moderato) dalla pagina COMMUNITY, e, se non lo avete già fatto, acquistare una o più confezioni di Pyramyd – Il Gioco della Vita dalla pagina GIOCA.

Vuoi realizzare un progetto simile?

 

Image CRUD: gallerie immagini in un lampo

Eccoci nuovamente a parlare del framework CodeIgniter (chi non lo conoscesse, può leggere un brevissimo articolo qui: https://www.walkermanstudio.com/codeigniter-framework-php-tuttofare), più precisamente di una libreria che ci aiuterà non poco durante la realizzazione dei nostri progetti.

Se dovessimo realizzare una galleria immagini per un sito, un’applicazione web, dovremmo sicuramente pensare a come presentare il frontend (ordinamento in griglia oppure tramite lista? E’ meglio realizzare le anteprime? E le didascalie? Mentre per gli album?), ma dovremmo soprattutto considerare la parte gestionale… lavoro non poco complesso e non proprio immediato: upload di file singoli e/o multipli, restrizioni sulla tipologia di file, gestione degli album, ridimensionamento delle immagini, etc…

Bene… in aiuto ci viene una libreria che promette (e, aggiungiamo, mantiene) di velocizzare la creazione di gallerie immagini e la loro gestione.

La libreria in questione è Image CRUD. Integrabile facilmente in Codeigniter, con pochissime righe di codice avremo un CRUD (Create, Read, Update, Delete) veloce e flessibile.

Vediamo insieme alcune delle principali funzionalità di Image CRUD:

– selezione e upload multiplo di immagini
– generazione automatica delle anteprime
– ordinamento “drag&drop” delle immagini
– inserimento didascalia
– raggruppamento immagini (creazione album)

Tutto questo si ottiene riportando nel vostro controller questa semplicissima funzione (esempio presente nella documentazione ufficiale):
function example1()
{
$image_crud = new image_CRUD();

// indichiamo la tabella che nel nostro database conterrà i riferimenti ai file sul server
$image_crud->set_table(‘example_1’);

// indichiamo il campo “chiave primaria” della nostra tabella poc’anzi descritta
$image_crud->set_primary_key_field(‘id’);

// indichiamo il campo, autogenerato, per l’url all’immagine
$image_crud->set_url_field(‘url’);

// indichiamo il percorso “contenitore” delle nostre immagini
$image_crud->set_image_path(‘assets/uploads’);

// generiamo il codice, pronto per essere visualizzato
$output = $image_crud->render();

// et voilà!
$this->_example_output($output);
}

La documentazione ed altri esempi presenti sul sito degli sviluppatori ci insegnano ad eseguire un ordinamento (set_ordering_field()), utilizzare una “categoria” per le nostre immagini (set_relation_field()) e ad impostare un titolo (set_title_field())

Come integrarlo in Codeigniter?
Innanzitutto recatevi sul sito ufficiale e scaricate l’ultima versione disponibile:
http://www.grocerycrud.com/image-crud/download

Scompattate l’archivio, contenente le cartelle “application” e “assets”, nella root del vostro progetto Codeigniter.
Troverete un controller ed una view che forniscono tutti gli esempi per poter iniziare ad utilizzare la libreria.
Unica accortezza è quella di creare la tabella, che conterrà i dati delle nostre immagini, nel database e, se pensate di utilizzarla, la tabella delle “categorie”.

 

Richiedi, senza alcun impegno, una nostra consulenza, sapremo aiutarti nella realizzazione del tuo progetto.

 

 

CodeIgniter: framework PHP tuttofare

CodeIgniter è un framework di sviluppo open source per applicazioni e siti web dinamici scritti utilizzando il linguaggio PHP (5.1.6 e versioni successive).

E’ basato sull’architettura MVC (Model-View-Controller), che permette una netta separazione tra la logica e la visualizzazione dei dati.

Sono supportati vari DBMS quali MySQL, MySQLi (questi sicuramente i più utilizzati), MS SQL, Postgres, Oracle, SQLite e ODBC.

I punti di forza di questo strumento sono sicuramente le ottime prestazioni che offre, step di configurazione minimi, ottima documentazione sia ufficiale che della community.

Se aggiungiamo le ridotte dimensioni (poco più di 2Mb per la versione 2.1.4), il supporto per lo scaffolding, la possibilità di utilizzare database multipli, il caching, classi per l’utilizzo nativo di FTP, email, validazione, compressione e altre piccole ma utili caratteristiche, si capisce bene di quale ottimo tool stiamo parlando.

CodeIgniter è sicuramente la soluzione ottimale per coloro che si avvicinano al modello MVC, in quanto la curva di apprendimento è molto piccola.

Probabilmente per la realizzazione di progetti, diciamo, più impegnativi, sarebbe opportuno l’utilizzo di altri framework.

Il primo della lista sarebbe sicuramente Lavarel!

Guardate un po’ questo grafico…

chart_php_framework

Elementi di portfolio