Newsgroup: it.comp.www.php
Titolo: Realizzare un portale... ma con intelligenza!

E' un discorso che è stato affrontato pochissime volte... ovvero di
come strutturare con intelligenza un portale.
Requisiti:
pagina divisa in: header, corpo, menù (laterale al corpo), footer;
smarty per il template;
programmazione ad oggetti.
Ora... conosco abbastanza bene il php, ma vi prego comunque di andarci
piano, è la prima che mi addentro in una situazione del genere (e lo
faccio per svago!).
Partendo dal template:
potrei utilizzare un file index.tpl per "gestire" il tutto.
Header e footer sono sempre uguali, quindi li vado ad includere a
priori.
Il menù, invece, dovrebbe essere quello classico diviso in più
blocchi. Alcuni di questi sono fissi e vengono visualizzati sempre
(esempio: un form per la "ricerca veloce"), altri invece vengono
mostrati solo in determinate occasioni (esempio: form per il login
solo se il login non è stato ancora effettuato, oppure menù con
l'elenco delle cartelle della galleria fotografica solo se si sta
visualizzando, appunto, la galleria...).
Come faccio? Mi vengono in mente due ipotesi:
- creo un file .tpl per ogni blocco, poi nella index incluso i blocchi
fissi e tramite if-else includo quelli "particolari" (ovvero da
visualizzare solo in determinate occasioni);
- creo un unico file .tpl per tutti i blocchi, e al suo interno sempre
tramite if-else decido cosa mostrare e cosa no.
Nota: mi sembra più intelligente la prima opzione, chiedo a voi che
avete più esperienza.
Per quanto riguarda il corpo, invece, dovrei creare un .tpl per ogni
"modulo" (io li chiamo così, è giusto?) e includerlo nel file .tpl.
Lo stesso discorso vale per il codice, non so se mi spiego.
Insomma, l'utente va a chiamare index.php?mod=forum
Index.php include innanzitutto il file classes/forum.php che conterrà
il codice per il funzionamento. Poi lo stesso discorso per i files
blocks/nome_blocco.php fissi e per quelli "speciali" dopo aver
controllato quali servono e quali no.
Parte il template che carica il file index.tpl che include header.tpl,
footer.tpl, i file dei menù fissi, forum.tpl (varia, sarà il body) e i
menù "speciali" (con un controllo simile a quello fatto per caricare
precedentemente il codice).
Il mio ragionamento regge?

 Il mio ragionamento regge?
Ti do un consiglio: avvicina un framework.
Tutto il ragionamento che scrivi è corretto, in una interpretazione 
piuttosto che in un'altra, ma usando uno strumento già rodato ti puoi 
concentrare sui contenuti effettivi del sito con una curva di 
apprendimento iniziale abbastanza bassa.
Per effettivi intendo che poi la gestione dei layout dei moduli e 
compagnia bella è già demandata ad un sistema che sai funzionare per 
certo.

 certo.
Innanzitutto ti ringrazio per l'interessamento :)
Avevo pensato a un framework, ma così non rischio di anteporre il
risultato (o almeno, la sua "facilità" e "rapidità") a discapito del
mio apprendimento?
Tra l'altro: è possibile che su internet io non trovi nessuna guida e/
o codice di esempio?
Perché certamente non posso studiarmi un prodotto completo (come un
forum phpbb o roba simile), né tanto meno mi sono d'aiuto gli esempi
per chi si avvicina al linguaggio (solita paginetta che va a fare un
query e visualizza un tabella...).

 query e visualizza un tabella...).
Io pensavo a cakephp ad esempio che ho usato proprio ora, all'inizio mi 
è venuto da piangere ma entrato nell'ottica ( #cakephp su Freenode FTW ) 
ha degli strumenti davvero interessanti.

 ha degli strumenti davvero interessanti.
Sì, stavo dando un'occhiata alle differenze, in particolare a questo:
http://www.phpit.net/demo/framework%20comparison/chart.php
Ma cakephp non ha un template engine, com'è possibile? Allo stesso
modo non ha moduli "aggiuntivi"... nel senso che devi svilupparli a
mano o che proprio non sono supportabili (suppongo la prima, sarebbe
assurdo...)?
Esiste una documentazione in italiano o comunque un manuale (di esempi
d'utilizzo ce ne sono a bizzeffe, come per tutto il resto, dopo
tutto)?
Dalla comparazione sembrerebbe che ZooP Framework sia il più completo.
Dico "sembrerebbe", perché fin quando non lo provi di persona, sai
com'è... bisogna vedere anche come lavora.

 Dalla comparazione sembrerebbe che ZooP Framework sia il più completo.
E da quello che so non lo usa praticamente nessuno :)
I piu` usati (da quel che ho visto in giro) sono ZF, Symfony, CakePHP, 
seguiti da CodeIgniter e eZ Components.
Ognuno ha una sua "filosofia" di utilizzo. Devi trovare quella che piu` si 
adatta al tuo stile. Per le funzionalita` di base sono piu` o meno 
equivalenti, e si distinguono piu` che altro per il "di piu`" che offrono.
Bye.

 E` abbastanza vecchio, e per alcuni punti errato.
Eheheh, non ci avevo fatto caso.
Allora ti pongo un'altra (e spero ultima) domanda: qual è, tra quelli
che conosci, quello con la documentazione e/o manualistica
"migliore" (nel senso quantitativo, ovvero di quantità delle
informazioni sull'uso del framework, e nel senso qualitativo, ovvero
chiarezza del linguaggio e lingua italiana, preferibilmente)?
Sai com'è... :-)
Meglio una Fiat 500 se la si impara ad usare con competenza piuttosto
che una Ferrari per andarsi a schiantarsi già alla prima guida (LoL,
che esempio).
Mi interesserebbe qualcosa in italiano. Non che non capisca l'inglese,
ma mi piacerebbe avere informazioni dettagliate e non solo ristrette a
esempi (mi pare di capire che né ZF né CakePhp hanno la documentazione
in italiano... è giusto?).
Grazie mille.

 com'è... bisogna vedere anche come lavora.
Io ho fatto una breve ricerca, ero indirizzato o su cakephp o su symfony.
Cercando un confronto diretto tra i due ho letto la considerazione che i 
due erano molto simili "but who doesn't like cakes?" e questo punto mi 
ha convinto ;-)

 ha convinto ;-)
Ahahah, ok, seguirò questa dritta ;-)

 esempio).
Tutorial ed esempi ne trovi a migliaia su Internet per tutti i framework, 
o almeno per questi tre.
 
Bye.