Io mi sono fatto una classe Generale in components dove metto tutte le cose di impiego generale che mi servono nell’applicazione (ben poche, in realtà).
grazie per le info. Vi rigiro alcune considerazioni sulle soluzioni proposte:
st4nny - Model del log di riferimento: questa soluzione, x le mie conoscenze attuali è la più semplice da fare. Basta che creo con gii il model della mia tabella log e poi vado ad implementare nel model le altre funzioni che mi servono.
st4nny - Helper dentro Components: x adesso non ho idea di come si fa, ma devo studiare. Non mi è chiaro se una volta creato l’helper, devo poi settarlo ad esempio nel mail.php di configurazione.
Sergio Neddi - Classe Generale in Component: penso sia simile alla soluzione precedente, se possibile potete mettermi un esempio x capire come partire?
Io ho fatto così: ho creato un file che ho chiamato Generale.php e l’ho messo dentro components.
Dentro Generale.php ho scritto:
<?php
class Generale {
public static function prova($test){
echo "Ciao $test!";
}
}
?>
Poi dove volevo ho scritto la chiamata:
Generale::prova('Sergio');
E l’esito è stato:
Ciao Sergio!
Spero che sia chiaro. La roba in components viene caricata di default, non servono cose particolari. E quindi ci può stare pure il Generale (quando non è dietro la collina… ).
Io quando devo fare una cosa del genere faccio un passo indietro e analizzo la finalità della funzione che devo utilizzare… se è specifica di un particolare "oggetto", allora sta bene dentro la classe su cui probabilmente sto già lavorando.
Altrimenti, come suggerito dagli altri, penso a un component.
Se poi la cosa cresce (più funzioni/metodi), e desidero che sia utilizzabile anche su altre installazioni di yii, penso a un modulo.
La cartella Component la crei nella stessa root di Models, Controllers, View.
L’esempio Helper e Generale sono identici. Uno usa il nome tecnico “Helper”, l’altro usa un nome che si ricorda subito “Generale” poiche’ contiene funzioni generali x l’app.
Se sono funzioni globali di utilità le metto in un file global.php che includo direttamente nell’index.php, altrimenti se ho bisogno dell’“ambiente” yii un component Helper come ha suggerito st4nny