Laravel Gii se refiere a sunshinev/laravel-gii, usa la arquitectura laravel7 + vue + elemnt-ui, la api usa resftul api, los extremos frontal y posterior están separados, el código del proyecto se publica usando php crafts seller: publicar, no depende en la propia extensión, y todo se implementa en cada directorio del proyecto. A continuación, se puede modificar de forma flexible según las necesidades.
[TOC]
stub
. Debido a que analiza la estructura de la tabla MySQL y genera plantillas basadas en campos, la clase Modelo generada actualmente solo es compatible con MySQL. Asegúrese de que los tres campos id
, created_at
y updated_at
de la estructura de la tabla MySQL deben existir.
### Instale primero laravel7 para el paquete de expansión (no se han probado otras versiones)
Vía compositor
$ 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 编译
Una vez completado el lanzamiento, la ruta se ha registrado. Puede acceder a la página Gii a través de la siguiente ruta. Asegúrese de configurar la base de datos (de lo contrario, se informará un error), el nombre de dominio del sitio web (ip), etc.
http:[domain]/gii/model
Descripción del formulario
La lista de archivos generados, el azul representa archivos nuevos, el rojo representa archivos existentes pero son diferentes y el blanco representa archivos existentes.
Por ejemplo, si el espacio de nombres del modelo generado se especifica como AppModelsAdminAlarmLog
, entonces la estructura del directorio generado es:
.app
├── Http
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
├── Observers
│ └── Models
│ └── Admin
└── └── AlarmLogObserver.php
A través de la estructura anterior, podemos descubrir la relación entre espacios de nombres y directorios.
La creación de CRUD debe basarse en el modelo creado previamente.
Esta operación también generará:
Descripción del formulario
Si la clase del espacio de nombres especificado es AppHttpControllersAdmin
, el controlador es AlarmLogController
y el modelo asociado es AppModelsAdminAlarmLog
, entonces la estructura del directorio generado es:
app
├── Http
│ └── Controllers
│ │ └── Admin
│ │ └── AlarmLogController.php
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
└── Observers
└── Models
└── Admin
└── AlarmLogObserver.php
y los archivos de vista generados
.resources
└── pages
└── admin
└── alarmlog
├── list.vue
├── edit.vue
├── create.vue
└── detail.vue
Nota: Las rutas se agregan. No genere CRUD varias veces. Las rutas se agregarán automáticamente al archivo de enrutamiento. Según el espacio de nombres del controlador AppHttpControllersAdminAlarmLogController
, se generarán las siguientes rutas. directamente.
//--------- 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))
},
Contiene funciones integrales de adición, eliminación y modificación.
MIT. Consulte el archivo de licencia para obtener más información.