Introduzione a Smarty
Scritto da Roberto Vespa, 18-05-2010 21:45
Valuazione utenti    (0 voto)
Pagina vista 836
Favoriti 38

Php Introduzione a smarty

Obiettivo
In questo articolo tratteremo cosa e' e come funziona smarty

Cosa e' smarty (dal sito ufficiale)

"Smarty è un motore di template per PHP. Più specificatamente, fornisce un modo semplice di separare la logica e il contenuto dell'applicazione dalla sua presentazione. Questo concetto si può comprendere meglio in una situazione in cui il programmatore ed il progettista dei template hanno ruoli diversi, o nella maggior parte dei casi non sono la stessa persona.

Per esempio, diciamo che dovete creare una pagina web che mostra un articolo di giornale. Il titolo, il sommario, l'autore e il corpo dell'articolo sono gli elementi del contenuto: non contengono informazioni su come saranno presentati. Vengono passati a Smarty dall'applicazione, dopodiché il grafico modifica i template e usa una combinazione di tag HTML e tag di template per formattare la presentazione di questi elementi (tabelle HTML, colori di sfondo, dimensione dei caratteri, fogli di stile ecc.). Un giorno il programmatore ha bisogno di cambiare il sistema in cui viene ottenuto il contenuto dell'articolo (si tratta di una modifica alla logica dell'applicazione). Questa modifica non influisce sul lavoro del grafico, infatti il contenuto arriverà al template esattamente uguale a prima. Allo stesso modo, se il grafico vuole ridisegnare completamente il template, questo non richiederà modifica alla logica applicativa. Quindi, il programmatore può fare modifice alla logica senza bisogno di ristrutturare i template, e il grafico può modificare i template senza rovinare la logica dell'applicazione.

Uno degli obiettivi progettuali di Smarty è la separazione della logica di business dalla logica di presentazione. Questo significa che i template possono contenere logica, a condizione che tale logica sia esclusivamente relativa alla presentazione. Cose come includere un altro template, alternare i colori delle righe di tabella, mostrare un dato in maiuscolo, ciclare su un array di dati per visualizzarli, ecc., sono tutti esempi di logica di presentazione. Questo non significa che Smarty forza una separazione fra la logica di business e quella di presentazione. Smarty non può sapere che cosa è una cosa e cosa è l'altra, per cui se mettete logica di business nel template sono affari vostri. Inoltre, se non volete alcuna logica nei template, potete sicuramente ottenere ciò riducendo il contenuto a solo testo e variabili."

 

Installare smarty
La prima cosa che dobbiamo fare e' andare nel sito ufficiale all'indirizzo http://smarty.php.net/download.php e scaricare una delle versioni disponibili. Il file che scaricheremo e' un file zip composto da varie cartelle, ma la sola cartella che a noi interessa e' la cartella "libs". Prendiamo questa cartella e mettiamola in una directory in cui vogliamo far funzionare il nostro sistema e rinominiamola con il nome "smarty". Creiamo adesso due cartelle "html" e "compile" che rappresentano rispettivamente la cartella dove andremo a mettere i file html e la cartella dove vengono compilati i file riconrdando di settare con CHMOD 777 questa cartella.

Configuriamo
Adesso creiamo un file di configurazione che chiameremo "libs.inc.php"


<?php
     $fixpath = dirname(__FILE__);
     define ("SMARTY_DIR", "smarty/");
     require_once (SMARTY_DIR."Smarty.class.php");
     $smarty = new Smarty;
     $smarty->compile_dir = "$fixpath/compile";
     $smarty->template_dir = "$fixpath/html";
?>


Utilizziamo smarty

Fatto' cio' cominciamo a vedere come sia possibile utilizzare smarty. Come prima cosa includiamo il file definito in precedenza e assegnamo a una variabile di nome "cognome", il valore "pippo" e facciamo si tramite

$smarty->display ("index.html");

di inviare alla pagina index.html questi dati. Lo script completo della nostra pagina php e':


<?php
     require_once ("./libs.inc.php");
     //assegna var
     $smarty->assign ("cognome", "pippo");
     //visualizza codice
     $smarty->display ("index.html");
?>

Adesso dobbiamo andare nella cartella "html" e creare un file .html di nome index.html in cui mettiamo

<html> <body> Il mio cognome e': {$cognome} </body> </html>


possiamo intuire da subito che in

{$cognome} 

ci sara' il valore definito nel file index.php


Ultimo aggiornamento: 18-05-2010 21:59

Pubblicato in : Tutorial, PHP
Tags : tutorial php, smarty
Commenti utente Cita quest'articolo sul tuo sito web Favoriti Invia ad un amico Salva su del.icio.us Articoli correlati Leggi tutto...

PEC

ordina_ora

News Letter

Iscrivendoti, potrai ricevere sulla tua e mail le nostre promozioni.

Area riservata