Laravel Gii fait référence à sunshinev/laravel-gii, utilise l'architecture laravel7 + vue + elemnt-ui, l'API utilise resftul api, les extrémités avant et arrière sont séparées, le code du projet est publié à l'aide du fournisseur artisan php : publier, il ne dépend pas sur l'extension elle-même, et est entièrement déployé dans chaque répertoire du projet ci-dessous, peut être modifié de manière flexible en fonction des besoins.
[TOC]
stub
. Parce qu'elle analyse la structure de la table MySQL et génère des modèles basés sur les champs, la classe Model actuellement générée ne prend en charge que MySQL. Veuillez vous assurer que les trois champs id
, created_at
et updated_at
de la structure de la table MySQL doivent exister.
### Veuillez d'abord installer laravel7 pour le package d'extension (les autres versions n'ont pas été testées)
Via Compositeur
$ composer require skyyouare/laravel-gii --dev
需要先按
1、composer require laravel/ui --dev
2、php artisan ui vue
3、npm install
4、npm install element-ui vue-router qs --save-dev
5、php artisan vendor:publish --tag gii.config --tag gii.views --tag gii.images --tag gii.js --tag gii.blade --tag gii.sass --tag gii.controller --tag gii.request --tag gii.route --tag gii.exception --tag gii.provider --force
6、运行 npm run watch-poll 编译
Une fois la publication terminée, l'itinéraire a été enregistré. Vous pouvez accéder à la page Gii via l'itinéraire suivant. Veuillez vous assurer de configurer la base de données (sinon une erreur sera signalée), le nom de domaine du site Web (ip), etc.
http:[domain]/gii/model
Description du formulaire
La liste de fichiers générée, le bleu représente les nouveaux fichiers, le rouge représente les fichiers existants mais différents et le blanc représente les fichiers existants.
Par exemple, si l'espace de noms du modèle généré est spécifié comme AppModelsAdminAlarmLog
, alors la structure de répertoires générée est :
.app
├── Http
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
├── Observers
│ └── Models
│ └── Admin
└── └── AlarmLogObserver.php
Grâce à la structure ci-dessus, nous pouvons découvrir la relation entre les espaces de noms et les répertoires.
La création de CRUD doit s'appuyer sur le modèle créé précédemment.
Cette opération générera également :
Description du formulaire
Si la classe de l'espace de noms spécifié est AppHttpControllersAdmin
, le contrôleur est AlarmLogController
et le modèle associé est AppModelsAdminAlarmLog
, alors la structure de répertoires générée est :
app
├── Http
│ └── Controllers
│ │ └── Admin
│ │ └── AlarmLogController.php
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
└── Observers
└── Models
└── Admin
└── AlarmLogObserver.php
et les fichiers de vue générés
.resources
└── pages
└── admin
└── alarmlog
├── list.vue
├── edit.vue
├── create.vue
└── detail.vue
Remarque : les routes sont ajoutées. Ne générez pas CRUD plusieurs fois. Les routes seront automatiquement ajoutées au fichier de routage. Selon l'espace de noms du contrôleur AppHttpControllersAdminAlarmLogController
, les routes suivantes seront générées, veuillez donc accéder à la route. directement.
//--------- append route 2020-08-27 09:58:16----------
{
name: 'alarmlog',
path:'/alarmlog/list',
component: resolve =>void(require(['./pages/alarmlog/list.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/create',
component: resolve =>void(require(['./pages/alarmlog/create.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/edit',
component: resolve =>void(require(['./pages/alarmlog/edit.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/detail',
component: resolve =>void(require(['./pages/alarmlog/detail.vue'], resolve))
},
Contient des fonctions complètes d’ajout, de suppression et de modification
MIT. Veuillez consulter le fichier de licence pour plus d'informations.