idevsmg/easyadmin

具备简易CRUD、导入和导出表格功能的行政包

安装: 84

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 3

分支: 0

公开问题: 0

语言:JavaScript

dev-main 2024-09-07 07:13 UTC

This package is auto-updated.

Last update: 2024-09-07 07:13:54 UTC


README

具备简易CRUD、导入和导出数据的行政包

安装

  1. 将包添加到composer.json

     composer require idevsmg/easyadmin:dev-main
     
  2. 将自动加载添加到composer.json

     "autoload": {
         "psr-4": {
             ....
             "Idev\\EasyAdmin\\": "vendor/idevsmg/easyadmin/src/"
         }
     },
    

3a. 将提供者添加到config/app.php的providers

'providers' => ServiceProvider::defaultProviders()->merge([
.....
Idev\EasyAdmin\EasyAdminServiceProvider::class,
])->toArray(),

3b. 将提供者添加到bootstrap/providers.php的providers(Laravel 11)

return [
....
Idev\EasyAdmin\EasyAdminServiceProvider::class,
];

  1. 运行安装程序
     composer dump-autoload
    
     php artisan vendor:publish --tag=install-idev --force
    

然后您可以执行迁移和种子

CRUD生成器

您可以通过在app/Console/Kernel.php中启用命令来轻松创建CRUD控制器

    protected $commands = [
        ....
        \Idev\EasyAdmin\app\Console\Commands\ControllerMaker::class,
    ];

在laravel 11中,您应该在bootstrap/app.php中添加命令

    ->withCommands([
        Idev\EasyAdmin\app\Console\Commands\ControllerMaker::class,
    ])

确保已创建表迁移,然后只需输入

    php artisan idev:controller-maker --slug={your-route} --table={your-table}

中间件CRUD(可选)

我们还在kernel.php中准备了一个用于CRUD访问控制的中间件,只需将以下代码片段添加到其中即可

protected $middlewareAliases = [
.....
'middlewareByAccess' => \Idev\EasyAdmin\app\Http\Middleware\MiddlewareByAccess::class
];

并且不要忘记将此中间件实现到您的路由中

   Route::group(['middleware' => ['web', 'auth', 'middlewareByAccess']], function () {
       ......
   });

示例CRUD(可选)

如果您想查看我们的示例CRUD控制器,可以发布sample-crud。
php artisan vendor:publish --tag=sample-crud --force

并设置如下

   Route::group(['middleware' => ['web', 'auth']], function () {
       Route::resource('sample-data', SampleDataController::class);
       Route::get('sample-data-api', [SampleDataController::class, 'indexApi'])->name('sample-data.listapi');
       Route::get('sample-data-export-pdf-default', [SampleDataController::class, 'exportPdf'])->name('sample-data.export-pdf-default');
       Route::get('sample-data-export-excel-default', [SampleDataController::class, 'exportExcel'])->name('sample-data.export-excel-default');
       Route::post('sample-data-import-excel-default', [SampleDataController::class, 'importExcel'])->name('sample-data.import-excel-default');
   });