Ciao a tutti,
il problema che vi sottopongo è un po' molto complesso ma sicuramente per qualcuno sarà banalissimo ^_^
Sto realizzando un sito in PHP con template Smarty.
Ho creato diversi moduli (Classi accessorie per es "RSS", "Newsletter" etc).
Per come ho pensato il sistema, ogni classe ha, nel costruttore, un "demone" in ascolto per catturare i suoi GET o POST, quindi, necessariamente, ogni classe deve essere istanziata.
## pseudo, molto pseudo codice :-)
for(tutte_le_classi_da_attivare)
new Classe$i;
Il problema sorge, però, nell'utilizzo.
1. Innanzitutto dovrei assegnare ad una variabile PHP il riferimento alla relativa classe.
(potrei ovviare al problema assegnano il riferimento a variabili "protette" che hanno lo stesso nome della classe.. anche se scadrebbe un po' nella sicurezza..)
## pseudo, molto pseudo codice :-)
for(tutte_le_classi_da_attivare)
$newsletter = new Newsletter();
2. Successivamente dovrei, però, assegnare ad una variabile Smarty il risultato del metodo chiamato (metodo che dipende strettamente dal template incluso)
$smarty->assign('newsletterIscritti', $newsletter->elencoIscritti());
3. Tutto questo è possibilissimo farlo.. ma mi troverei, ad ogni pagina del sito, ad istanziare n classe (necessario in qualsiasi caso, credo), assegnare n variabili PHP vincolate al nome della relativa classe, istanziare (n * ogni_metodo_classe) variabili Smarty e sapere, a priori, in ogni template, quale metodo ho chiamato..
Non è affatto facile da spiegare.. e immagino neppure da capire, nel complesso..
Addirittura il titolo del post non è stato troppo semplice da definire XD
Ma confido ci siano diverse soluzioni e, addirittura, percorsi più semplici da intraprendere..
Grazie in aticipo a tutti,
Mauro