matedon/laravel-admin

Administrative interface builder for Laravel PHP Framework which can help you build CRUD backends just with few lines of code.

dev-master 2018-08-07 15:56 UTC

README

Build Status StyleCI Scrutinizer Code Quality Packagist Total Downloads

This project based on the job of z-song/laravel-admin

The laravel-admin is an administrative interface builder for Laravel PHP Framework which can help you build CRUD backends just with few lines of code.

Z-song admin has a Demo use username/password:admin/admin

Inspired by SleepingOwlAdmin and rapyd-laravel.

Screenshots

laravel-admin

Installation

First, install laravel, and make sure that the database connection settings are correct.

Laravel 5.2
composer require matedon/laravel-admin "dev-master"

Laravel 5.3
composer require matedon/laravel-admin "1.3.x-dev"

Laravel 5.1
composer require matedon/laravel-admin "1.1.x-dev"

Inconfig/app.phpaddServiceProvider:

MAteDon\Admin\Providers\AdminServiceProvider::class

Then run these commands to finnish install:

php artisan vendor:publish --tag=laravel-admin
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
└── routes.php

app/Admin/routes.php is used to define routes,for more detail please read routes.

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

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 thses plugins or services:

License

laravel-admin is licensed under The MIT License (MIT).