Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le View in Code Igniter

Scopriamo cosa sono e come funzionano le View nel pattern MVC e nel framework PHP Code Igniter. Impariamo come gestire le View e come organizzarle in sottocartelle.
Scopriamo cosa sono e come funzionano le View nel pattern MVC e nel framework PHP Code Igniter. Impariamo come gestire le View e come organizzarle in sottocartelle.
Link copiato negli appunti

Le View (Viste), sono semplicemente pagine HTML, o sezioni di pagine HTML, che vengono stampate tramite l'utilizzo di un Controller. Nella struttura MVC infatti, una View non viene mai chiamata direttamente, perché questo andrebbe contro la logica stessa del pattern.

Esempi classici di View sono ad esempio la sezione header, la sezione main (o sidebar) e la sezione footer. Richiamando le View in questo modo, la gestione strutturale della pagina resta assolutamente nelle mani del Controller, e questo garantisce un ottima gestione tecnica sia del codice che dell'applicazione stessa.

Caricare un View

Per caricare una View, dobbiamo prima avere creato il relativo file nella cartella application/views. Il nome del suddetto file è assolutamente facoltativo. Nel nostro esempio di base lo chiameremo struttura.php ed assumerà la seguente forma:

<!DOCTYPE HTML>
    <html>
        <head>
                <title>Prova CI</title>
        </head>
        <body>
                <h1>Prima pagina in CI</h1>
                <p>Questa pagina è caricata dal Controller.</p>
        </body>
    </html>

A questo punto, per stampare il precedente codice HTML, basterà richiamare il metodo load->view dell'oggetto CI nel seguente modo: $this->load->view('nome view');, dove 'nome view' è una stringa che indica il nome del file che contiene la View che stiamo caricando, senza la necessità di utilizzare l'estensione .php, a meno che non si tratti di una differente estensione (nel nostro caso sarà semplicemente struttura):

<?php
        class Welcome extends CI_Controller {
            public function index() {
                $this->load->view('struttura');
            }
        }
    ?>

Questo pattern gestionale diventa incredibilmente efficace nel caso in cui dobbiamo caricare una struttura HTML completa, ma divisa in differenti sotto-sezioni, che andrà a costituire l'output finale, ad esempio:

<?php
        class Welcome extends CI_Controller {
            public function index() {
                $this->load->view('doctype');
                $this->load->view('header');
                $this->load->view('main');
                $this->load->view('footer');
            }
        }
    ?>

Code Igniter gestirà in modo intelligente tutte le chiamate precedenti concatenandole in ordine cronologico.

Sottocartelle di View

In una applicazioni di grandi dimensione, si presenta quasi sicuramente la necessità di organizzare le viste in differenti sottocartelle. Ad esempio, può esserci la sezione dedicata alle View che fungono da template, quella dedicata alle View che fungono da output HTML diretto, quelle che si occupano dei dati del database, e cosi via. Possiamo dunque creare delle sottocartelle specifiche nella cartella application/views come template, output e database. Per richiamarle si utilizzerà lo stessa identica modalità, con la differenza che la sottocartella viene "appesa" alla stringa del file:

<?php
        class Welcome extends CI_Controller {
            public function index() {
                $this->load->view('template/doctype');    // application/views/template/doctype.p
                $this->load->view('template/header');
                $this->load->view('databse/main-data');    // application/views/database/main-data.php
                $this->load->view('output/calendar');     // application/views/output/calendar.php
                $this->load->view('template/footer');
            }
        }
    ?>

Ti consigliamo anche