[Yii2] Come separare le tabelle "di servizio" da quelle front-end

Ciao a tutti, mi trovo con un db con circa 30 tabelle.

Di queste solo 5/6 sono quelle su cui gireranno gli utenti, attraverso i rispettivi controller.

Tutte le rimanenti sono tabelle di servizio ad esempio le classiche: regioni, province, città.

Queste vorrei venissero generate da gii in una cartella “administrator” ed al 90% non le tocco più perchè con il CRUD base generato le gestirà l’amministratore.

Quelle su cui lavorerò molto come modifiche saranno appunto le 5/6 lato front end

Per evitare di aprire la struttura Controller/Model/View e trovarmi a cercare ogni volta in mezzo a tante sottocartelle, avevo avuto questa idea.

Volevo chiedervi se anche voi avete questa esigenza e se avete seguito questa strada, oppure esiste un modo "standard" di affrontare questa problematica.

Se non erro dovrei andare a personalizzare Gii per fare in modo che generi i file in una directory differente.

Ad esempio x i model dovrei cambiare la variabile $ns dentro Generator.php?


public $ns = 'app\models';

Mi sembra di “forzare” un po’ troppo?

Grazie x gli aiuti

alla fine, dopo diversi tentativi ho capito che “forse” c’è un bug su Gii.

Infatti mentre posso specificare il namespace "administrator" da aggiungere alla path classica, sia per il Model sia per il Controller, purtroppo ciò non vale per la View.

Infatti il Model e il Controller me li crea correttamente nella mia sottodirectory mentre la View no.

Il “bug” sta che, senza toccare il codice generato, il componente non funziona. Per farlo funzionare devo spostare manualmente la directory da “view” a “view/administrator” poichè è lì che se lo aspetta Yii. Infatti dopo che sposto a mano tutto funziona correttamente. :blink:

Ciao,

siccome sono anche io interessato a questo tipo di gestione, alla fine come hai risolto?

Se non ricordo male, rileggendo le mie "memorie", quella volta ho risolto appunto generando sia i model che i controller dentro una sottocartella "administrator", quindi Model\Administrator e Controller\Administrator. Avendo appunto il problema che le view invece le ho create nel modo classico andandole a spostare manualmente dentro View\Administrator. Secondo me era un bug di gii e lo segnalai ma a dire il vero non ho più provato se era stato risolto.

Ciao Federico,

grazie per la spiegazione.

Una cosa non mi è chiara. Nel caso in cui lo stesso controller e model, ha più viste dove alcune sono destinate per il backend e altre per il fronend come è giusto gestire il tutto.

Esempio se ho una tabella Pippo

Faccio model,view e controller di Pippo sotto la cartella administrator e model,view e controller di Pippo nelle catelle della root principale del progetto ?

Grazie