Nel composer.json ci sono tutte le informazioni che servono a composer per impostare la tua app!
Gii è un tool che usi solo per lo sviluppo e sarebbe buona cosa metterlo tra i “require-dev” così quando vorrai installare l’app in produzione non ti porti dietro anche gii che non serve!
Ad esempio, in una mia app ho tra i require
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": "*",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"kartik-v/yii2-widgets": "dev-master",
"kartik-v/yii2-helpers": "dev-master",
"kartik-v/yii2-icons": "dev-master",
"kartik-v/yii2-password": "dev-master",
"kartik-v/yii2-grid": "dev-master"
},
Cioè tutte le estensioni che servono all’app per funzionare, mentre quelle che uso solo in fase di sviluppo sono in require-dev:
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"codeception/codeception": " 1.8.3",
"codeception/specify": " *",
"codeception/verify": " *"
},
quindi tutte le cosine per test, debug etc…
Per quanto riguarda gii puoi metterlo in backend o frontend o entrambi, dipende dal file di config.
Io non uso il template advanced ma penso che caricando il modulo gii solo nel web.php del backend ti permetta di accederci dal backend.
Il template advanced è piuttosto articolato, oltre a prevedere backend e frontend ti fornisce anche ambienti diversi per lo sviluppo e la produzione e quindi un nutrito set di configurazioni da fare!