Giter Club home page Giter Club logo

laravel-admin's Introduction

laravel-admin

Build Status StyleCI Packagist Total Downloads

laravel-admin 是一个可以快速帮你构建后台管理的工具,它提供的页面组件和表单元素等功能,能帮助你使用很少的代码就实现功能完善的后台管理功能。

Demo 账号/密码:admin/admin

截图

grid

form

安装

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加入ServiceProvider:

Encore\Admin\Providers\AdminServiceProvider::class

然后运行下面的命令完成安装:

php artisan vendor:publish --tag=laravel-admin
php artisan admin:install

启动服务后,在浏览器打开 http://localhost/admin/ ,使用用户名 admin 和密码 admin登陆.

使用文档

目录结构

安装完成之后,后台的安装目录为app/Admin,之后大部分的后台开发编码工作都是在这个目录下进行。

app/Admin/routes.php文件用来配置后台路由,详细使用请阅读路由配置

app/Admin/menu.php文件用来配置后台左侧菜单栏,详细使用请阅读菜单栏配置

app/Admin/Controllers目录用来存放后台路由器文件,该目录下的HomeController.php文件是后台首页的显示控制器,ExampleController.php为实例文件。

快速开始

Laravel自带的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

laravel-admin可以通过使用以下几步来快速生成users表的CURD操作页面:

1.添加路由器

<?php

namespace App\Admin\Controllers;

use App\User;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Content;
use App\Http\Controllers\Controller;
use Encore\Admin\Controllers\AdminController;

class UserController extends Controller
{
    use AdminController;

    /**
     * Index interface.
     *
     * @return Content
     */
    public function index()
    {
        return Admin::content(function (Content $content) {

            $content->header('header');
            $content->description('description');

            $content->body($this->grid());
        });
    }

    /**
     * Edit interface.
     *
     * @param $id
     * @return Content
     */
    public function edit($id)
    {
        return Admin::content(function (Content $content) use ($id) {

            $content->header('header');
            $content->description('description');

            $content->body($this->form()->edit($id));
        });
    }

    /**
     * Create interface.
     *
     * @return Content
     */
    public function create()
    {
        return Admin::content(function (Content $content) {

            $content->header('header');
            $content->description('description');

            $content->body($this->form());
        });
    }

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        return Admin::grid(User::class, function (Grid $grid) {

            $grid->id('ID')->sortable();

            $grid->name('用户名');
            $grid->email('邮箱');

            $grid->created_at();
            $grid->updated_at();
        });
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        return Admin::form(User::class, function (Form $form) {

            $form->display('id', 'ID');
            
            $form->text('name', '用户名');
            $form->email('email', '用户邮箱');
            $form->password('password', '密码');
            
            $form->dateTime('created_at', 'Created At');
            $form->dateTime('updated_at', 'Updated At');
        });
    }
}

2.添加路由配置

laravel-admin的路由配置文件app/Admin/routes.php里添加一行:

$router->resource('users', UserController::class);

3.添加左侧菜单栏连接

打开文件app/Admin/menu.php,添加以下数据:

...
[
    'title' => '用户列表',
    'url'   => 'users',
    'icon'  => 'fa-users',
],
...

然后就能在后台管理页面的左侧边栏看到用户管理页面的链接入口了。

对于数据表格(model-grid)和数据表单(model-form)的详细使用请查看model-gridmodel-form

其它

laravel-admin 基于以下组件或者服务:

Inspired by SleepingOwlAdmin and rapyd-laravel.

License

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

laravel-admin's People

Contributors

z-song avatar axyr avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.