日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php 后台配置系统,使用 laravel-admin 配置后台管理系统

發(fā)布時(shí)間:2025/3/21 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 后台配置系统,使用 laravel-admin 配置后台管理系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

內(nèi)容有點(diǎn)多,就不說(shuō)別的了。。

需要一個(gè)簡(jiǎn)單的后臺(tái)管理系統(tǒng),對(duì)接數(shù)據(jù)庫(kù)中的用戶(hù)信息表,完成基本的增刪改查操作。

最好支持權(quán)限管理;有便捷的接口可供調(diào)用(不需要深度定制);前端界面和交互美觀簡(jiǎn)潔,足夠“現(xiàn)代化”;架構(gòu)明晰,配置簡(jiǎn)單,可快速成型等等。

幾經(jīng)查找,感覺(jué) laravel-admin 這個(gè)框架還不錯(cuò)。雖說(shuō)文檔算不上完善,小踩幾坑,沒(méi)怎么太費(fèi)事就構(gòu)建好了。值得記錄一下。

后臺(tái)管理系統(tǒng)

一、安裝 Laravel 環(huán)境

laravel-admin 需要 PHP 7+ 和 Lavavel 5.5+ ,我當(dāng)前使用的是 VirtualBox 虛擬機(jī)里的 Ubuntu 19.04 系統(tǒng),配置起來(lái)還是比較方便的。

Laravel 官方的定義是 The PHP Framework For Web Artisans ,優(yōu)雅和快速成型。依賴(lài)于 PHP >= 7.1.3 和一些 PHP 擴(kuò)展組件。可以使用 Linux 系統(tǒng)自帶的包管理器進(jìn)行安裝,命令如下:

$ sudo apt-get install php7.2 php7.2-bcmath php7.2-json php7.2-mbstring php7.2-mysql php7.2-xml php7.2-zip php7.2-common

安裝 composer 并配置國(guó)內(nèi)鏡像

Composer 是 PHP 語(yǔ)言的依賴(lài)管理工具,類(lèi)似于 Node.js 下的 npm 。后面需要用到的 Laravel 、laravel-admin 及其相關(guān)的依賴(lài)項(xiàng)都可以通過(guò) composer 命令安裝。

$ sudo apt-get install composer

為了提高訪問(wèn)速度,可以把 composer 的鏡像源改為國(guó)內(nèi)版本,命令如下(全局配置):

$ composer config -g repo.packagist composer https://packagist.laravel-china.org

安裝 Laravel 并初始化項(xiàng)目

使用 composer 命令安裝 Laravel :

composer global require laravel/installer

將 Laravel 安裝路徑添加到 PATH 環(huán)境變量:

$ echo export PATH="$PATH:~/.config/composer/vendor/bin" >> ~/.zshrc && source ~/.zshrc

初始化 Laravel 項(xiàng)目:

$ laravel new admin

以上步驟完成后,進(jìn)入 admin 項(xiàng)目目錄,運(yùn)行 $ php artisan serve 命令即可開(kāi)啟一個(gè)最基本的 Laravel 站點(diǎn)。

配置數(shù)據(jù)庫(kù)

安裝 mysql 數(shù)據(jù)庫(kù):

$ sudo apt-get install mysql-server

創(chuàng)建數(shù)據(jù)庫(kù) admin 并授權(quán)給測(cè)試賬戶(hù)(用戶(hù)名 test_user ,密碼 test_password):

mysql> CREATE DATABASE admin;

Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON admin.* to test_user IDENTIFIED BY 'test_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

修改數(shù)據(jù)庫(kù)配置文件

編輯 config/database.php 文件(已經(jīng)默認(rèn)使用 mysql 數(shù)據(jù)庫(kù)),修改 mysql 配置部分,將 url 改為如下形式:

'url' => env('DATABASE_URL', 'mysql://test_user:test_password@127.0.0.1/admin'),

(數(shù)據(jù)庫(kù) URL 的格式為 mysql://用戶(hù)名:密碼@IP地址/數(shù)據(jù)庫(kù)名)

二、安裝 laravel-admin

數(shù)據(jù)庫(kù)配置完成后,即可按照以下步驟安裝配置 laravel-admin 。

在 admin 目錄下,使用 composer 命令安裝 laravel-admin :

$ composer require encore/laravel-admin

發(fā)布資源:

$ php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

使用以下命令完成安裝:

$ php artisan admin:install

運(yùn)行服務(wù)查看效果:

$ php artisan serve

訪問(wèn) http://127.0.0.1:8000/admin ,使用用戶(hù)名 admin 和密碼 admin 登錄,效果如下:

laravel-admin

安裝完成后,laravel-admin 所有的配置都在 config/admin.php 文件中(如站點(diǎn)名稱(chēng)、logo、登錄界面的背景等),而項(xiàng)目文件的安裝目錄為 app/Admin ,目錄結(jié)構(gòu)如下:

app/Admin

├── Controllers

│ ├── ExampleController.php

│ └── HomeController.php

├── bootstrap.php

└── routes.php

其中 app/Admin/routes.php 文件用來(lái)配置后臺(tái)路由;

app/Admin/bootstrap.php 是 laravel-admin 的啟動(dòng)文件;

app/Admin/Controllers 目錄用來(lái)存放后臺(tái)控制器文件,該目錄下的HomeController.php 文件是后臺(tái)首頁(yè)的顯示控制器。

三、一些必要的配置

項(xiàng)目進(jìn)行到這里,已經(jīng)具備了一個(gè)后臺(tái)管理系統(tǒng)的所有基本要素,只是在添加或者修改用戶(hù)時(shí),會(huì)報(bào)出下圖所示的 Config error ,需要添加一個(gè) Disk 配置:

Disk error

編輯 config/filesystems.php 文件,在 'disks' 配置下添加如下內(nèi)容:

'admin' => [

'driver' => 'local',

'root' => public_path('upload'),

'visibility' => 'public',

'url' => env('APP_URL').'/public/puload/',

],

disk config

中文配置

配置界面語(yǔ)言為中文可以修改 config/app.php 文件,將其中的 locale => en 改為 locale => zh-CN 即可。

其他常用的配置如站點(diǎn)名稱(chēng)、頁(yè)面布局等可以編輯 config/admin.php 文件,文件中的注釋信息非常詳細(xì),根據(jù)需求直接修改即可。

四、綁定自己的數(shù)據(jù)庫(kù)

前面生成的算是演示用的示例頁(yè)面,如果需要綁定和管理自己的數(shù)據(jù)庫(kù)表格,操作也是比較簡(jiǎn)單的。

創(chuàng)建數(shù)據(jù)庫(kù)表格

在之前創(chuàng)建的 admin 數(shù)據(jù)庫(kù)中添加名為 employee 的表格:

mysql> CREATE TABLE employee (

-> id int(6) unsigned AUTO_INCREMENT PRIMARY KEY,

-> number int(6) unsigned NOT NULL UNIQUE,

-> name varchar(10) NOT NULL,

-> mail varchar(60) UNIQUE,

-> password varchar(30),

-> department varchar(40) NOT NULL DEFAULT ''

-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

創(chuàng)建模型文件

$ php artisan make:model Employee

上述命令會(huì)創(chuàng)建 app/Employee.php 模型文件,將該文件改為如下內(nèi)容:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model

{

protected $table = 'employee';

public $timestamps = false;

}

PS:關(guān)于模型的使用可以參考 Laravel 官方文檔

添加控制器

通過(guò)以下命令創(chuàng)建一個(gè)對(duì)接 app/employee 模型的控制器:

$ php artisan admin:make EmployeeController --model=App\\Employee

App\Admin\Controllers\EmployeeController created successfully.

添加路由

編輯路由配置文件 app/Admin/routers.php ,在根 URL 的路由下添加如下一行內(nèi)容:

$router->resource('employee', EmployeeController::class);

添加網(wǎng)頁(yè)菜單

訪問(wèn) http://127.0.0.1:8000/admin/auth/menu ,添加頁(yè)面左側(cè)的菜單項(xiàng),用于指向前面創(chuàng)建的后臺(tái)數(shù)據(jù)。

menu

上述步驟完成后,訪問(wèn) http://127.0.0.1:8000/admin/employee ,最終效果如下:

employee

五、優(yōu)化篩選和密碼顯示

上面完成的項(xiàng)目中,篩選按鈕只支持通過(guò) ID 搜索,密碼也是直接顯示。這些和表格相關(guān)的行為都可以通過(guò)修改 app/Admin/Controllers/EmployeeController.php 文件進(jìn)行控制。

修改 EmployeeController.php 文件中對(duì)表格相關(guān)行為的定義:

protected function grid()

{

$grid = new Grid(new Employee);

// 不顯示 ID 列

//$grid->id('ID');^M

$grid->number('工號(hào)');^M

$grid->name('姓名');^M

$grid->mail('郵箱');^M

// 隱藏密碼列

//$grid->password('Password');^M

$grid->department('部門(mén)');

$grid->filter(function($filter){

// 去掉默認(rèn)的 id 過(guò)濾器

$filter->disableIdFilter();

// 添加新的字段過(guò)濾器(通過(guò)工號(hào)過(guò)濾)

$filter->like('number', '工號(hào)');

});

return $grid;

}

實(shí)際效果如下:

自定義表格和篩選

六、nginx 服務(wù)器配置

首先需要終止默認(rèn)安裝的 Apache2 服務(wù)并安裝 nginx 和 php-fpm:

$ sudo systemctl stop apache2

$ sudo systemctl disable apache2

$ sudo apt-get install nginx php7.2-fpm

創(chuàng)建新的站點(diǎn)配置文件(/etc/nginx/sites-available/admin.conf)并寫(xiě)入以下內(nèi)容:

server {

listen 80;

server_name 127.0.0.1;

root /public;

add_header X-Frame-Options "SAMEORIGIN";

add_header X-XSS-Protection "1; mode=block";

add_header X-Content-Type-Options "nosniff";

index index.html index.htm index.php;

charset utf-8;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location = /favicon.ico { access_log off; log_not_found off; }

location = /robots.txt { access_log off; log_not_found off; }

error_page 404 /index.php;

location ~ \.php$ {

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;

include fastcgi_params;

}

location ~ /\.(?!well-known).* {

deny all;

}

}

使用以下命令啟用新的站點(diǎn)配置并重啟 nginx 服務(wù):

$ sudo ln -s /etc/nginx/sites-available/admin.conf /etc/nginx/sites-enabled/

$ sudo systemctl restart nginx

需要注意的是,app/storage 目錄的屬主應(yīng)該與運(yùn)行 nginx 服務(wù)的用戶(hù)(默認(rèn)為 www-data)一致,可通過(guò)以下命令修改:

$ sudo chown -R www-data storage

參考資料

總結(jié)

以上是生活随笔為你收集整理的php 后台配置系统,使用 laravel-admin 配置后台管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。