Laravel Gii refere-se a sunshinev/laravel-gii, usa arquitetura laravel7 + vue + elemnt-ui, a API usa API resftul, os front-ends e back-ends são separados, o código do projeto é liberado usando php artist vendor:publish, não depende na própria extensão, e é todo implantado em cada diretório do projeto abaixo, podendo ser modificado de forma flexível de acordo com as necessidades.
[TOC]
stub
. Como ele analisa a estrutura da tabela MySQL e gera modelos com base em campos, a classe Model gerada atualmente suporta apenas MySQL. Certifique-se de que os três campos id
, created_at
e updated_at
da estrutura da tabela MySQL devem existir.
### Por favor instale o laravel7 primeiro para o pacote de expansão (outras versões não foram testadas)
Através do 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 编译
Após a conclusão do lançamento, a rota foi registrada. Você pode acessar a página Gii através da seguinte rota. Certifique-se de configurar o banco de dados (caso contrário, um erro será relatado), nome de domínio do site (ip), etc.
http:[domain]/gii/model
Descrição do formulário
Na lista de arquivos gerada, o azul representa os novos arquivos, o vermelho representa os arquivos existentes, mas são diferentes, e o branco representa os arquivos existentes.
Por exemplo, se o namespace Model gerado for especificado como AppModelsAdminAlarmLog
, a estrutura de diretório gerada será:
.app
├── Http
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
├── Observers
│ └── Models
│ └── Admin
└── └── AlarmLogObserver.php
Através da estrutura acima, podemos descobrir a relação entre namespaces e diretórios.
A criação do CRUD precisa contar com o modelo previamente criado.
Esta operação também gerará:
Descrição do formulário
Se a classe do namespace especificado for AppHttpControllersAdmin
, o controlador for AlarmLogController
e o modelo associado for AppModelsAdminAlarmLog
, então a estrutura de diretório gerada será:
app
├── Http
│ └── Controllers
│ │ └── Admin
│ │ └── AlarmLogController.php
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
└── Observers
└── Models
└── Admin
└── AlarmLogObserver.php
e os arquivos de visualização gerados
.resources
└── pages
└── admin
└── alarmlog
├── list.vue
├── edit.vue
├── create.vue
└── detail.vue
Nota: As rotas são anexadas. Não gere CRUD várias vezes. As rotas serão adicionadas automaticamente ao arquivo de roteamento de acordo com o namespace do controlador AppHttpControllersAdminAlarmLogController
, então acesse a rota. diretamente.
//--------- 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))
},
Contém funções abrangentes de adição, exclusão e modificação
MIT. Consulte o arquivo de licença para obter mais informações.