Win10环境使用Laravel8+Laravel-Admin2.0搭建管理后台

本文详细介绍了如何在Win10环境下,利用WAMP、Composer、Node.js等工具,一步步安装和配置Laravel8和Laravel-Admin2.0,包括环境配置、数据库连接、数据迁移、模型创建、控制器生成、路由配置等内容,最终实现后台管理系统的搭建。
摘要由CSDN通过智能技术生成

Win10环境使用Laravel8+Laravel-Admin2.0搭建管理后台

1. 安装

1.1 Laravel8

1.1.1 WAMP

WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器。
本篇内容使用的phpStudy8.1.1.3

  • 支持Php 8.0.2
  • 支持Mysql 8.0.12
  • 支持Redis 3.0.5
  • 支持Nginx 1.16.1

1.1.2 Composer

Composer 是 PHP 的一个依赖管理工具。
官方下载地址
https://getcomposer.org/download/

1.1.3 Node.js

Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工具!Laravel8 的扩展需要Node.js环境支持。
官方下载地址
http://nodejs.cn/download/

1.1.4 Laravel 8

在D盘home目录创建项目myweb,安装程序自动创建home和myweb目录
composer create-project laravel/laravel=8.* --prefer-dist d:\home\myweb

1.2 Laravel-Admin

Laravel-Admin 2.0 功能齐全的后台管理扩展包
laravel-admin 2.0 是基于laravel 7.*的版本和AdminLTE前端样式框架开发的一套通用后台管理系统laravel-admin:

  • 内置基于RBAC的权限系统
  • 菜单管理,和权限系统结合
  • 模型数据表格,能快速构建数据表格,并支持多种模型关系
  • 模型表单以及30+种form元素组件,自动实现增、删、改功能
  • 支持本地和云存储,支持图片的剪裁、压缩、加水印等操作
  • 大量常用后台开发组件

1.2.1 安装admin扩展包

composer require encore/laravel-admin:2.*

1.2.2 发布资源到项目里

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

1.2.3 数据库连接配置

  • .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin
DB_USERNAME=admin
DB_PASSWORD=abcdddd
  • config\database.php
        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

1.2.4 初始化数据

php artisan admin:install

1.2.5 启动本地服务器验证

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

2. 深入配置

2.1 Laravel App 环境

编辑config/app.php

2.1.1 中文语言

  • 设置Laravel中文语言支持
'locale' => 'zh-CN',
  • 备用语言,如果locale指定语言找不到相应内容使用备用语言
'fallback_locale' => 'en',
  • 让Faker数据生成器能生成中文假数据
'faker_locale' => 'zh-CN',

2.1.2 增加自定义中文翻译

resources/lang目录下新建resources/lang/zh-CN.json

{
   
    "Id": "ID",
    "ID": "ID",
    "Created at":"创建时间",
    "Updated at":"更新时间",
    "name":"名字",
    "email":"邮箱",
    "Item name":"项目名称",
    "Item id":"项目ID",
    "Publish":"发布状态",
    "Expiry date":"有效期",
    "Access level":"访问级别",
    "Order":"排序",
    "Content":"内容",
    "Type":"类型",
    "Plan name":"方案名称",
    "Plan id":"方案ID",
    "User level":"用户访问级别"
}

控制器里相应的显示Label标签就会自动按上表规则翻译成中文显示

		$table->column('item_id', __('Item id'));

“Item id"在页面里显示为"项目ID”

2.1.3 设置时区

//'timezone' => 'UTC',
'timezone' => 'Asia/Shanghai',

2.1.4 设置HTTPS访问

布署到CentOS站点时,如果站点使用SSL证书,Nginx会配置把所有http访问重定向到https链接访问,这时登录页面可能会重定向自己的https链接,造成没有任何提示且无法正常登录的情况,这时需要修改larave的.env环境文件,在任何行加入允许HTTPS访问

ADMIN_HTTPS=true

2.2 Admin环境

config/admin.php

2.2.1 定制页面

  • 登录页面的大标题,显示在登录页面
	'name' => 'Laravel-admin',
  • 登录内页Logo角标
	'logo' => [
        'image' => '/vendor/laravel-admin/AdminLTE/img/AdminLTELogo.png',
        'text' => '<span class="font-weight-bolder">我的CMS</span>'
    ],
  • 所有页面的标签内容
	'title' => '我的CMS | 管理',
  • 登录页面的背景图设置
'login_background_image' => '',

2.2.2 文件上传设置

  • Form表单中的image和file类型的默认上传磁盘和目录设置
	'upload' => [

        // `config/filesystem.php`中设置的disk路径
        'disk' => 'admin',

        // image和file类型表单元素的上传目录
        'directory' => [
            'image' => 'images',
            'file'  => 'files',
        ],
    ],
  • config/filesystem.php
		//本地端public的uploads空间,用于远程存储与浏览器访问,完全对外开放
        'admin' => [
            'driver' => 'local',
            'root' => public_path('upload'),
            'url' => env('APP_URL').'/upload',
            'visibility' => 'public',
        ],

3. 使用Migration创建数据库

3.1 数据迁移

Laravel数据迁移创建数据表结构

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateQuestionnairesTable extends Migration
{
   
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
   
        Schema::create('questionnaires', function (Blueprint $table) {
   
            $table->increments('id');
            $table->string('item_name', 190)->unique();
            $table->timestamp('expiry_date');
            $table->timestamp('publish');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
   
        Schema::dropIfExists('questionnaires');
    }
}

-timestamps() 等价于下面两条命令,同时创建’created_at’和’updated_at’字段
$table->timestamp(‘created_at’)
$table->timestamp(‘updated_at’)
-increments(‘id’) 自增id
-unique() 定义字段数据唯一性
-comment(‘字段注解’) 定义字段注解
-其他常用选项
$table->engine = ‘InnoDB’; // 指定表引擎
$table->charset = ‘utf8mb4’; // 表字符集
$table->collation = ‘utf8mb4_unicode_ci’; // 表排序规则

3.2 数据填充

使用DatabaseSeeder类填充测试数据,或者设置你的APP初始数据

3.2.1 使用Seeder方式填充菜单预设数据

3.2.1.1 生成并编写Seeder

php artisan make:seeder AdminMenuSeeder

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;

class AdminMenuSeeder extends Seeder
{
   
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
   
        DB::table(config('admin.database.menu_table'))->insert([
        	[
	            'parent_id' => 0,
	            'order' => 1,
	            'title' => '仪表盘',
	            'icon' => 'fas fa-tachometer-alt',
	            'uri' => '/',
	            'created_at' => Carbon::now(),
	            'updated_at' => NULL,
	        ],     
	        [
	            'parent_id' => 0,
	            'order' => 7,
	            'title' => '客户管理',
	            'icon' => 'fas fa-user-tie',
	            'uri' => NULL,
	            'created_at' => Carbon::now(),
	            'updated_at' => NULL,
	        ],
	        [
	            'parent_id' => 0,
	            'order' => 9,
	 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值