gavande / laravel-admin
laravel admin
Requires
- php: >=5.6.4
- laravel/framework: ~5.3
Requires (Dev)
- fzaninotto/faker: ~1.4
- intervention/image: ~2.3
- laravel/laravel: ~5.3
- phpunit/phpunit: ~4.0
- symfony/css-selector: 2.8.*|3.0.*
- symfony/dom-crawler: 2.8.*|3.0.*
Suggests
- intervention/image: Required to handling and manipulation upload images (~2.3).
- spatie/eloquent-sortable: Required to built orderable gird.
README
laravel-admin
is administrative interface builder for laravel which can help you build CRUD backends just with few lines of code.
Demo use username/password:admin/admin
Inspired by SleepingOwlAdmin and rapyd-laravel.
Screenshots
Installation
First, install laravel, and make sure that the database connection settings are correct.
Laravel 5.1
composer require encore/laravel-admin "1.1.*"
Laravel 5.2
composer require encore/laravel-admin "1.2.*"
Laravel 5.3
composer require encore/laravel-admin "1.3.*"
Inconfig/app.php
addServiceProvider
:
Encore\Admin\Providers\AdminServiceProvider::class
Then run these commands to publish assets and config:
php artisan vendor:publish --tag=laravel-admin
After run command you can find config file in config/admin.php
, in this file you can change the install directory,db connection or table names.
At last run following command to finish install.
php artisan admin:install
Open http://localhost/admin/
in browser,use username admin
and password admin
to login.
Default Settings
The file in config/admin.php
contains an array of settings, you can find the default settings in there.
Documentation
Directory structure
After install,you can find directoryapp/Admin
,and then most of our develop work is under this directory.
app/Admin
├── Controllers
│ ├── ExampleController.php
│ └── HomeController.php
├── bootstrap.php
└── routes.php
app/Admin/routes.php
is used to define routes,for more detail please read routes.
app/Admin/bootstrap.php
is bootstrapper for laravel-admin, more usages see comments inside it.
The app/Admin/Controllers
directory is used to store all the controllers, The HomeController.php
file under this directory is used to handle home request of admin,The ExampleController.php
file is a controller example.
Quick start
We use users
table come with Laravel
for example,the structure of table is:
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
And the model for this table is App\User.php
You can follow these steps to setup CURD
interfaces of table users
:
1.add controller
Use the following command to create a controller for App\User
model
php artisan admin:make UserController --model=App\\User // under windows use: php artisan admin:make UserController --model=App\User
The above command will create the controller in app/Admin/Controllers/UserController.php
.
2.add route
Add a route in app/Admin/routes.php
:
$router->resource('users', UserController::class);
3.add left menu item
Open http://localhost:8000/admin/auth/menu
, add menu link and refresh the page, then you can find a link item in left menu bar.
4.build grid and form
The rest needs to be done is open app/Admin/Contollers/UserController.php
, find form()
and grid()
method and write few lines of code with model-grid
and model-form
,for more detail, please read model-grid and model-form.
Other
laravel-admin
based on following plugins or services:
- Laravel
- AdminLTE
- Datetimepicker
- font-awesome
- moment
- Google map
- Tencent map
- bootstrap-fileinput
- jquery-pjax
- Nestable
- toastr
- X-editable
- bootstrap-number-input
- fontawesome-iconpicker
License
laravel-admin
is licensed under The MIT License (MIT).