L'application a deux significations différentes dans yii2 : le système d'application et le corps de l'application. Un système d'application peut contenir plusieurs entités d'application. Un système d'application avancé typique tel que yii2 advanced comprend trois entités d'application : frontend, backend et console, qui fournissent respectivement une interface utilisateur frontale, une interface de gestion backend et une interface de ligne de commande.
Parfois, nous avons également besoin d'une API pour fournir un service Web. À l’heure actuelle, nous devons créer un nouveau corps d’application pour fournir l’API.
1, copiez d'abord une copie du backend dans le répertoire racine du projet et renommez-le en api : (Apprentissage recommandé : tutoriel yii)
cp backend/ api -r
2. Copiez l'environnement de l'API
cp -a environments/dev/frontend environments/dev/api cp -a environments/prod/frontend environments/prod/api
3. Modifiez le code après le fichier environnements/index.php (en ajoutant principalement du code lié à l'API) :
return [ 'Development' => [ 'path' => 'dev', 'setWritable' => [ 'backend/runtime', 'backend/web/assets', 'frontend/runtime', 'frontend/web/assets', 'api/runtime', 'api/web/assets', ], 'setExecutable' => [ 'yii', 'yii_test', ], 'setCookieValidationKey' => [ 'backend/config/main-local.php', 'frontend/config/main-local.php', 'api/config/main-local.php', ], ], 'Production' => [ 'path' => 'prod', 'setWritable' => [ 'backend/runtime', 'backend/web/assets', 'frontend/runtime', 'frontend/web/assets', 'api/runtime', 'api/web/assets', ], 'setExecutable' => [ 'yii', ], 'setCookieValidationKey' => [ 'backend/config/main-local.php', 'frontend/config/main-local.php', 'api/config/main-local.php', ], ], ];
4. Basculez vers le répertoire racine du projet et exécutez la commande d'initialisation
php init
Ouvrez cmd sous Windows, basculez vers le répertoire racine du projet et exécutez la commande ci-dessus. .
5. Ajoutez l'alias du dossier api. Accédez à la dernière ligne de common/config/bootstrap.php et ajoutez le code suivant :
Yii::setAlias('api', dirname(dirname(__DIR__)) . '/api');
6. . Modifiez le fichier de configuration api/config/main.php
return [ 'id' => 'app-api', // ... 'controllerNamespace' => 'api\controllers', ]
7 Modifiez l'espace de noms des fichiers dans le fichier api, les contrôleurs, les modèles, les actifs et les vues en api.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!