介绍
laravel-admin 是一个在Laravel中快速构建后台管理的工具,它提供的页面组件和表单元素等功能,使用很少的代码就可以实现功能完善的后台管理功能。
官网地址:https://laravel-admin.org/
composer介绍地址:https://packagist.org/packages/encore/laravel-admin
安装
首先确保安装好了laravel,并且数据库连接设置正确。
如下是安装命令:
composer require encore/laravel-admin
命令安装完成后,运行下面的命令来发布资源:
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。
然后运行下面的命令完成安装:
php artisan admin:install
运行这个命令的时候,如果遇到了下面的错误:
Migration table created successfully.
In Connection.php line 664:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
In Connection.php line 458:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
这是数据库创建特殊字符过长问题。因为laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情,否则就会出现该错误。
解决方式:在app\Providers\AppServiceProvider.php添加默认值
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Schema; // 添加一
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191); // 添加二
//
}
}
添加完两处配置后,删除已经生成的两张数据表,再重新进行安装
php artisan admin:install
安装完成通过 /admin 的形式进入后台,默认账号密码均为:admin
生成的文件
安装完成之后,会在项目目录中生成以下的文件:
- 配置文件:安装完成之后,laravel-admin所有的配置都在config/admin.php文件中。
- 后台项目文件:安装完成之后,后台的安装目录为app/Admin,之后大部分的后台开发编码工作都是在这个目录下进行。
app/Admin
├── Controllers
│ ├── ExampleController.php
│ └── HomeController.php
├── bootstrap.php
└── routes.php
app/Admin/routes.php文件用来配置后台路由。
app/Admin/bootstrap.php 是laravel-admin的启动文件,
app/Admin/Controllers目录用来存放后台控制器文件,该目录下的HomeController.php文件是后台首页的显示控制器,ExampleController.php为实例文件
常用配置
- 语言配置
默认是英文,修改项目文件 config/app.php: 'locale' => 'en' 修改为 'locale' => 'zh-CN' - 时区配置
修改项目文件 config/app.php: 'timezone' => 'UTC' 修改为 'timezone' => 'Asia/Shanghai'
更多配置查看官方文档
常用操作
- 创建控制器
使用下面的命令来创建一个App\User模型对应的控制器
// Mac os、 Linux
php artisan admin:make UserController --model=App\\User
// Windows
php artisan admin:make UserController --model=App\User
在v1.8.0版本可以使用admin:controller命令创建控制器:
php artisan admin:controller --model=App\User
上面的命令会创建控制器文件app/Admin/Controllers/UserController.php.
- 创建路由
在路由配置文件app/Admin/routes.php里添加一行:
$router->resource('users', UserController::class);
更多操作查看操作文档