Blog

Post tecnico: come generare modelli e CRUD personalizzati per Yii2

La forza del framework Yii2 è la generazione automatica di tutto il codice standard che riguarda il Modello e il CRUD (Create, Read, Update, Delete). Nonostante questo sia di grandissimo aiuto, il codice generato non si adatta perfettamente alle mie esigenze. Per questo ho provato a creare un Modello e un CRUD personalizzati senza modificare quelli standard che sarebbero sovrascritti ad ogni aggiornamento.

Come creare un CRUD personalizzato per Yii2

Per creare un CRUD personalizzato ho creato una cartella "custom\templates\crud\default" e vi ho copiato "vendor\yiisoft\yii2-gii\generators\crud\default".
Ho fatto tutte le modifiche necessarie ai file nella cartella "custom\templates\crud\default\view\ per adattarli alle mie esigenze.

Ho modificato la configurazione, per il template base, in config\web.php

```
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1'],
'generators' => [
'crud' => [
'class' => 'yii\gii\generators\crud\Generator',
'templates' => [
'myModel' => '@app/custom/templates/crud/default',
] ]
],
];
```

Adesso quando genero il CRUD posso scegliere, nel campo in fondo "Code Template", se utilizzare quello di default oppure quello personalizzato (myModel).

Naturalmente lo stesso processo può essere utilizzato per personalizzare la generazione di qualsiasi entità già prevista nella generazione di codice di Yii2, come ad esempio il Model (modello), modificando solamente i percorsi del codice e delle classi di riferimento.

Ti è stato utile questo articolo? Lasci aun commento se vuoi che pubblichi più post su questo argomento. Grazie!

Credits: immagine di freepik

Cosa posso fare per te?

Hai bisogno di una consulenza per un software o un sito Internet? Scrivimi e insieme troveremo la soluzione.

In questo sito vengono utilizzati cookie tecnici e di terze parti per migliorare la vostra esperienza di navigazione.

Proseguendo nella navigazione ci consenti di utilzzare i cookie. Per saperne di piu'

Approvo

Puoi consultare la privacy policy e la cookie policy in fondo ad ogni pagina del sito.

©2019 SoftRiz. Tutti i diritti riservati - P.IVA 01313090191