Newsgroup: it.comp.www.php
Titolo: Templates, una dritta?

Volevo sapere se esiste qualche risorsa per lo studio dei templates e se 
esistono anche libri che trattano di questo argomento.
Ho scaricato dalla rete un sistema di sondaggi che ne fa uso e la cosa 
mi ha incuriosito.
Ovviamente cercherò anche su San Google, ma mi interessava molto la 
vostra opinione.
Esistono controindicazioni al loro uso?
Max
-- 
Se mi volete scrivere
massimo . ori @ aliceposta . it

 Max
Il codice HTML con incluso il codice PHP è sempre più veloce di 
qualsiasi sistema di Template. Il loro utilizzo viene comunque 
giustificato dal fatto che scrivere template è più semplice (o almeno 
dovrebbe esserlo) che scrivere pagine PHP e il loro utilizzo consente 
una maggiore separazione fra codice e HTML.
La separazione di per se è positiva quasi in ogni circostanza: è più 
facile modificare l'aspetto del sito senza preoccuparsi di fare 
castronerie nel codice di programmazione; è più facile aggiungere nuove 
pagine; è più facile realizzare sistemi di internazionalizzazione ...
Io personalmente li uso sempre (prima utilizzavo SMARTY, ora WACT) e non 
credo che ne potrei fare a meno, salvo che per piccolissime applicazioni 
che hanno poco HTML o che non ne hanno affatto.
Se hai qualche domanda più specifica sono a tua disposizione.

 Io personalmente li uso sempre (prima utilizzavo SMARTY, ora WACT)
Esistono dei tutorial (o ancora meglio, dei libri) sull'uso di Smarty, 
di Wact o comuqnue di sistemi per la creazione di template?
Grazie, ciao
Decibel.

 di Wact o comuqnue di sistemi per la creazione di template?
Libri non credo proprio (forse qualche capitolo dedicato a Smarty 
esiste... non saprei) ... tutorial moltissimi, almeno per Smarty (cerca 
su google e non rimarrai deluso). Per WACT non esistono molti tutorial 
ma esistono parecchi esempi d'uso sul sito ufficiale 
(
wact.sourceforge.net
) che sono piuttosto auto-esplicativi.

 Se hai qualche domanda più specifica sono a tua disposizione.
Intanto mi scuso per il ritardo nel risponderti, non era mia intenzione, 
e poi volevo spiegarmi meglio:
ormai già da tempo suddivido le varie aree di layout delle pagine in 
blocchi di codice PHP che inserisco o meno con include() e tutto questo 
funziona perfettamente. Ora vorrei perfezionare la cosa rendendo 
l'utente più autonomo nelle sue scelte.
Non ho mai usato i vari sistemi di CMS, ho sempre realizzato da 0 sia la 
grafica che il "motore", ma ben presto mi sono reso che i miei clienti 
chiedono spesso le stesse cose e quindi vorrei fare in modo che possano 
agire in maniera visuale e diretta sui contenuti.
Vorrei quindi realizzare una pagina base e permettere all'utente di 
aggiungere o togliere moduli e di creare e gestire pagine ex-novo 
partendo da 0.


 Io personalmente li uso sempre (prima utilizzavo SMARTY, ora WACT) e non 
[cut]
Ti posso chiedere i motivi dell'abbandono di Smarty e il passaggio a WACT ?
Luigi


Attenzione a non confondere le cose. Un CMS non è un sistema di Template 
e non necessariamente ne implementa uno.
Forse lo sai già ma un CMS (Content Management System) è un applicativo 
che consente la gestione dei contenuti (e spesso di molto altro) di un 
sito web.
I Template sono invece un sistema per la "semplificazione" della 
realizzazione di pagine (generalmente [X]HTML).
Detto questo, mi sembra di capire che a te serva un po' di codice 
facilmente riutilizzabile (una necessità decisamente comune :-) per la 
generazione di un CMS. In giro ce ne sono moltissimi ma purtroppo quasi 
tutti sono orientati ad una visione piuttosto specifica.
Probabilmente la soluzione ideale per te è studiarti un qualche 
framework (Mojavi, WACT, molte librerie PEAR) per semplificare la 
gestione delle form.

 Ti posso chiedere i motivi dell'abbandono di Smarty e il passaggio a WACT ?
I motivi sono svariati. Vado di elenco:
- Smarty č orientato solo alla realizzazione di template mentre WACT č 
un framework piů ampio tipo RAD (Rapid Application Development): MVC 
(Model View Controller), DB abstraction layer, I18N, diverse sorgenti 
per i file di configurazione ...
- WACT utilizza moltissimo e in modo molto intelligente i Design Pattern;
- WACT adotta un sistema di sviluppo del tipo Test Driven Design;
- WACT č piuttosto semplice da estendere;
- Infine WACT č estremamente performante.
Per concludere, la mia non vuole essere assolutamente una polemica su 
ciň che č meglio o peggio, semplicemente esprimo il mio punto di vista. 
Tenete presente anche che WACT č alla versione 0.2 considerata ancora alpha.
Sempre a disposizione.

 generazione di un CMS.
Anche io con l'andare del tempo inizio a manifestare questo bisogno...
Any hints? :-)
Grazie!!
Decibel


Sì, affezionarsi as un framework e ora come ora ne esistono di parecchio 
buoni; è possibile anche crearsene uno da zero, ma perchè reinventare la 
ruota? Una volta acquisita pratica su di esso si potranno aggiungere 
"moduli" personalizzati. Quelli che conosco (+ o -) e che danno una 
certa affidabilità sono:
- WACT (ovviamente al primo posto, ormai avrete capito che ci sono 
affezionato);
- Mojavi
- Horde
- Pear
Se utilizzate PHP4, altrimenti dovete cercare un po' con google.

 affezionato);
Ok grazie, visto che ne parli così bene inizierò a provare con questo! :-)
Cmq fammi capire, un framework è praticamente un sistema che ti permette 
di inserire in breve tempo del codice che utilizzi spesso?
Come ad esempio la creazione dei moduli che permettano all'utente di 
inserire/modificare/eliminare record in un database, oppure le funzioni 
che prendono il contenuto di un database a seconda di una query 
preselezionata e mostrano il risultato in una tabella?
I framework sono OS based? Io utilizzo Windows per sviluppare in PHP...
Grazie mille, e scusami, ma non ne ho mai utilizzato uno... :-)
Ciao
Decibel.

 I framework sono OS based? Io utilizzo Windows per sviluppare in PHP...
Un framework è sostanzialmente una libreria di script (nel caso di PHP). 
In questa libreria possono essere incluse funzioni di ogni genere.
Nel caso dell'esempio che citi, il framework è ad un livello più basso 
... cioè in pratica ti dovrebbe consentire lo sviluppo rapido di tali 
sistemi.
Buon lavoro.