http://laravelacademy.org/post/6468.html
1、簡介
為 Laravel 提供后台模板的項目越來越多,學院君已陸續為大家介紹過Laravel Angular Admin、LaraAdmin、Voyager等,網友也貢獻了很多后台模板,這對 Laravel 生態來說自然是好事,今天學院君還要給大家介紹一個后台模板擴展包,其官方文檔號稱可以幫助大家在十分鍾內構建器功能完備的 Laravel 應用后台。接下來,讓我們來一窺究竟吧。
laravel-admin
是一個用於為Laravel提供后台界面的構建器,僅僅通過數行代碼,就可以幫助我們構建CRUD后台。
演示地址:http://120.26.143.106/admin
Github倉庫:https://github.com/z-song/laravel-admin
截圖:
2、安裝
注:安裝前確保數據庫連接配置正確。
以下是不同版本 Laravel 下 Composer 安裝命令:
Laravel 5.2 composer require encore/laravel-admin "dev-master" Laravel 5.3 composer require encore/laravel-admin "1.3.x-dev" Laravel 5.1 composer require encore/laravel-admin "1.1.x-dev"
在config/app.php
中注冊服務提供者:
Encore\Admin\Providers\AdminServiceProvider::class
然后運行以下命令完成安裝:
php artisan vendor:publish --tag=laravel-admin php artisan admin:install
在瀏覽器中訪問http://localhost/admin/
,使用admin/admin
登錄到后台。
配置文件位於config/admin.php
,如果需要的話,可以打開該文件進行自定義配置。
3、快速入門
接下來我們以users
表為例講解該擴展包的使用,該數據表的結構如下:
CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(60) COLLATE utf8_unicode_ci NOT NULL, `remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `users_email_unique` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
該數據表對應的模型App\User.php
。
下面我們來看下如何實現CRUD頁面:
1)添加控制器
我們使用如下Artisan命令為User模型創建對應的控制器:
php artisan admin:make UserController --model=App\\User
生成的控制器位於app/Admin/Controllers/UserController.php
。
2)添加路由
在app/Admin/routes.php
中添加路由:
$router->resource('users', UserController::class);
3)添加左側菜單項
打開http://localhost/admin/auth/menu
,添加菜單鏈接並刷新頁面,就會看到左側菜單條。
4)構建格子和表單
接下來要做的是打開app/Admin/Contollers/UserController.php
,找到grid
和form
方法,並通過model-grid和model-form編寫自己的代碼。
4、第三方組件
laravel-admin
使用了以下第三方插件和服務: