[Yii 1] Model Generator Best Practice

Ciao a tutti,

Yii 1 mette a disposizione un generatore di model davvero utile.

In questa prima fase metto spesso mano al database e nel generatore visualizzo tutti i modelli usando *, così da segnalare immediatamente quali model sono stati modificati e quali no.

Ho preso l’abitudine di aggiungere tutto il codice personalizzato (funzioni, costanti, variabili) in coda alla classe in questo modo distinguo meglio le mie modifiche rispetto al generatore, fate anche voi così?

Sarebbe ancora meglio se in qualche modo potessi dire al generatore che alcune parti sono da ignorare così da non segnalarmele come modificate, sapete se esiste qualcosa del genere?

Avete altri suggerimenti derivanti dalla vostra esperienza?

Grazie!

L’ideale, come suggerito anche dalla guida ufficiale “definitiva” è di avere la classe model ‘base’ che ha SOLO il codice generato da gii, ed è 1=1 la rappresentazione del db

poi per personalizzarla si estende la classe.

Per esempio: ho la classe UserBase.php, che è il model generato da yii

poi nel modulo admin ho una cartella model con User.php che ha le cose che mi servono solo in admin ed estende UserBase

,… nel modulo stats ho una cartella mdoel con User.php anche qui, che estende sempre UserBase ma ha solo le cose che mi servono qui.

nei rarissimi casi in cui mi serve in due posti la stessa funzionalità, dentro la cartella model principale creo User che estende UserBase, e sposto l’ereditarietà degli altri user da UserBase alla User che ho appena creato.

… i dettagli non sono proprio precisi, visto che per non fare collidere le cose uso i namespace, ma il concetto è quello.

In caso aggiungi una colonna ad user, basta rigenerarlo da yii come UserBase e … fatto ! non ti devi preoccupare del codice sovrascritto

Chiaro ed elegante…

Era una delle soluzioni che stavo valutando (quel pezzo della guida però mi sa che me lo sono perso) sapere che è già usata mi porta a seguirla come strada.

Grazie della risposta come sempre!

sono stato un cafone a non scriverti il link:

http://www.yiiframework.com/doc/guide/1.1/it/basics.best-practices