2017 © Pedro Peláez
 

library laravel-adminer

Laravel Adminer Database Manager

image

onecentlin/laravel-adminer

Laravel Adminer Database Manager

  • Saturday, July 7, 2018
  • by onecentlin
  • Repository
  • 4 Watchers
  • 24 Stars
  • 3,616 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 0 Open issues
  • 7 Versions
  • 9 % Grown

The README.md

Laravel Adminer Database Manager

Light weight Adminer database management tool integrated into Laravel 5 and above., (*1)

Various database support: MySQL, SQLite, PostgreSQL, Oracle, MS SQL, Firebird, SimpleDB, MongoDB, Elasticsearch, and etc., (*2)

v8.0 Update

  • Adminer update to v5.0.x (namespace added)

Notice: if you are using plugins, please check namespace with Adminer., (*3)

v7.2 Update

  • Laravel 12.x Compatibility
  • Adminer update to v4.17.1

v7.0 New Features

  • Laravel 11.x Compatibility
  • Adminer plugins support

v6.0 New Features

Make life easier with minimized package setup =), (*4)

  • Enable laravel auto package discovery
  • New config setting: middleware (default value: auth)
  • Enable env variables to setup adminer config
    • ADMINER_ENABLED
    • ADMINER_AUTO_LOGIN
    • ADMINER_ROUTE_PREFIX

Installation

composer require onecentlin/laravel-adminer

OR, (*5)

Update composer.json in require section:, (*6)

"require": {
    "onecentlin/laravel-adminer": "^7.0"
},

Run:, (*7)

composer update onecentlin/laravel-adminer

Register package

Laravel auto package discovery feature added since package v6.0, you may skip this step., (*8)

Update config/app.php, (*9)

'providers' => [
    ...
    Onecentlin\Adminer\ServiceProvider::class,
];

Publish config and theme file

php artisan vendor:publish --provider="Onecentlin\Adminer\ServiceProvider"

This action will copy two files and one folder:, (*10)

  • config/adminer.php - Adminer config file
  • public/adminer.css - Adminer theme file
  • resources/plugins - Adminer plugins directory

config file: config/adminer.php

<?php

return [
    'enabled' => env('ADMINER_ENABLED', true),
    'autologin' => env('ADMINER_AUTO_LOGIN', false),
    'route_prefix' => env('ADMINER_ROUTE_PREFIX', 'adminer'),
    'middleware' => 'auth',
    'plugins' => [],
];

ATTENSION: Please only enable autologin with authenticated protection., (*11)

theme file: public/adminer.css

You may download adminer.css from Adminer or create custom style, and place it into public folder., (*12)

Setup Access Permission (Middleware)

Package v6.0 allow customized middleware config, you may skip this step or modify to fit your needs., (*13)

Laravel 11 middleware setup changes

Since Laravel v11 remove Kernel.php, the middleware setup point to bootstrap/app.php, (*14)

Add your middleware group in withMiddleware section:, (*15)

return Application::configure(basePath: dirname(__DIR__))
    ->withProviders()
    ->withRouting()
    ->withMiddleware(function (Middleware $middleware) {

        // [SETUP HERE] Adminer Middleware group
        $middleware->group('adminer', [
            \Illuminate\Cookie\Middleware\EncryptCookies::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\Auth\Middleware\Authenticate::class,
        ]);

    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

Laravel 5.2 and above

Setup for middleware group supported for Laravel 5.2 above (~v10), (*16)

Modify config/adminer.php : 'middleware' => 'adminer',, (*17)

Modify app/Http/Kernel.php file with adminer in $middlewareGroups, (*18)

protected $middlewareGroups = [
    ...
    'adminer' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // TODO: you may create customized middleware to fit your needs
        // example uses Laravel default authentication (default protection)
        \Illuminate\Auth\Middleware\Authenticate::class,
    ],
];

Enable Plugins

Drop your plugin files in resources/adminer/plugins, (*19)

Modify config/adminer.php : 'plugins' => [] by adding the name of the plugin class and any argument required, (*20)

return [
    ...
    'plugins' => [
        'PluginClassNameWithoutArguments',
        'PluginClassNameWithArgument' => 'argument_value',
        'PluginClassNameWithMultipleArguments' => ['arg1', 'arg2', ...],
    ],
];

Access adminer

Open URL in web browser, (*21)

http://[your.domain.com]/adminer

Screenshot, (*22)

Remarks

Due to function name conflicts of Laravel 5 and Adminer, adminer.php file functions cookie(), redirect() and view() are prefixed with adm_ prefix., (*23)

Inspired by miroc, (*24)

The Versions

07/07 2018

dev-master

9999999-dev

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database management mysql laravel5 sqlite adminer

07/07 2018

4.6.3

4.6.3.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database management mysql laravel5 sqlite adminer

17/03 2017

1.3.0

1.3.0.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database management mysql laravel5 sqlite adminer

20/11 2016

1.2.1

1.2.1.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database management mysql laravel5 sqlite adminer

03/06 2016

1.2.0

1.2.0.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database laravel mysql adminer

03/03 2016

1.1.0

1.1.0.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database laravel mysql adminer

18/11 2015

1.0.0

1.0.0.0

Laravel Adminer Database Manager

  Sources   Download

MIT

The Requires

 

by Winnie Lin

database laravel mysql adminer