Laravel Gii относится к Sunshinev/laravel-gii, использует архитектуру laravel7 + vue + elemnt-ui, API использует resftul API, передняя и задняя части разделены, код проекта выпускается с использованием php artisanvendor:publish, он не зависит на самом расширении, и все это развернуто в каждом каталоге проекта Ниже, может быть гибко изменено в соответствии с потребностями.
[ТОС]
stub
. Поскольку он анализирует структуру таблицы MySQL и генерирует шаблоны на основе полей, созданный в данный момент класс модели поддерживает только MySQL. Убедитесь, что три поля id
, created_at
и updated_at
структуры таблицы MySQL должны существовать.
### Пожалуйста, сначала установите laravel7 для пакета расширения (другие версии не тестировались)
Через композитор
$ 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 编译
После завершения выпуска маршрут будет зарегистрирован. Вы можете получить доступ к странице Gii по следующему маршруту. Обязательно настройте базу данных (в противном случае будет сообщено об ошибке), доменное имя веб-сайта (IP) и т. д.
http:[domain]/gii/model
Описание формы
Сгенерированный список файлов: синий цвет представляет новые файлы, красный — существующие файлы, но они отличаются, а белый — существующие файлы.
Например, если сгенерированное пространство имен модели указано как AppModelsAdminAlarmLog
, то сгенерированная структура каталогов будет следующей:
.app
├── Http
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
├── Observers
│ └── Models
│ └── Admin
└── └── AlarmLogObserver.php
С помощью приведенной выше структуры мы можем обнаружить связь между пространствами имен и каталогами.
Создание CRUD должно опираться на ранее созданную модель.
Эта операция также создаст:
Описание формы
Если класс указанного пространства имен — AppHttpControllersAdmin
, контроллер — AlarmLogController
, а связанная модель — AppModelsAdminAlarmLog
, то сгенерированная структура каталогов будет следующей:
app
├── Http
│ └── Controllers
│ │ └── Admin
│ │ └── AlarmLogController.php
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
└── Observers
└── Models
└── Admin
└── AlarmLogObserver.php
и сгенерированные файлы представления
.resources
└── pages
└── admin
└── alarmlog
├── list.vue
├── edit.vue
├── create.vue
└── detail.vue
Примечание. Маршруты добавляются. Не создавайте CRUD несколько раз. Маршруты будут автоматически добавлены в файл маршрутизации в соответствии с пространством имен контроллера AppHttpControllersAdminAlarmLogController
, поэтому, пожалуйста, получите доступ к маршруту. напрямую.
//--------- 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))
},
Содержит комплексные функции добавления, удаления и модификации.
MIT. Дополнительную информацию см. в файле лицензии.