laravel框架开发实战项目总结

目录

一、什么是laravel框架

1.1 laravel框架具有以下特点:
1.2 项目介绍
1.3 前期准备

二、laravel框架的目录结构

三、创建用户表

3.1 显示登录页面
3.2 Ajax交互

四、后台页面布局

4.1 显示后台首页
4.2 判断登录状态

五、路由的配置

六、添加栏目

6.1 显示栏目列表
6.2 编辑栏目
6.3 删除栏目

七、添加内容

7.1 上传图片
7.2 显示内容列表 
7.3  显示广告位
7.4 编辑广告位
7.5 删除广告位
7.6 显示广告列表

八、面包屑导航

8.1 跳转链接
8.2 内容详细页
8.3 点赞
8.4 评论
8.5 热门内容

一、什么是laravel框架

Laravel框架可以开发各种不同类型的项目,内容管理系统(Content Management System,CMS)是一种比较典型的项目,常见的网站类型(如门户、新闻、博客、文章等)都可以利用CMS进行搭建。CMS用于对信息进行分类管理,将信息有序、及时地呈现在用户面前,满足人们发布信息、获取信息的需求,保证信息的共享更加快捷和方便。本学期将讲解如何使用Laravel框架开发内容管理系统。

1.1 laravel框架具有以下特点:

(1)对外只提供一个入口,public/index.php。

(2)采用MVC设计模式

(3)支持Composer依赖管理工具,可以为项目自动安装依赖包。

(4)采用OPM方式操作数据库

(5)注重代码的模块化和可扩展性

(6)自带各种方便的服务

(7)具有路由功能

(8)提供Artisan命令行工具

1.2 项目介绍

(1)本项目分为前台和后台。前台的功能包括用户登录与注册、内容列表、内容详细页、广告展示、评论和热门内容等。

前台页面:

 后台登录页面:

后台首页:

(2)后台在未登录的状态下会自动跳转至登录页面。输入用户名“admin”、密码“123456”和验证码后,单击“登录”按钮,即可进行登录。

(3)登录后,页面顶部右侧显示了当前登录的用户名“admin”和“退出”按钮,单击“退出”按钮即可退出后台系统。

(4)后台页面的左侧有一个菜单栏,用户可以在菜单栏中选择一个菜单项进行操作。

项目中需要使用到的技术点包括文件上传、分页和会话技术。整个项目开发基于实现功能的步骤来完成,先实现后台开发,提供数据支持,再完成前台的数据展示。

1.3 前期准备

(1)在C:\web\apache2.4\htdocs\cms目录下打开终端,执行如下命令,安装Laravel。

composer create-project --prefer-dist laravel/laravel ./ 5.8.*

(2)Laravel安装完成后,在Apache的conf\extra\httpd-vhosts.conf配置文件中创建一个虚拟主机。然后,编辑Windows系统的hosts文件,添加一条解析记录“127.0.0.1 cms.test”。

(3)在本书的配套源代码包中,将内容管理系统的前台和后台的静态资源复制到项目对应的目录下。

(4)登录MySQL服务器,创建数据库cms,将cms作为内容管理系统的数据库。

(5)打开项目,在config\database.php数据库配置文件中,将数据库名称修改为cms。

(6)在.env文件中配置正确的数据库配置信息。完成上述步骤后,即可在项目中访问数据库。

二、laravel框架的目录结构

 app:应用目录,保存项目中的控制器、模型等

bootstrap:保存框架启动的相关文件

config:配置文件目录

database:数据库迁移文件和数据填充文件

public:应用入口文件index.php和前端资源文件(如CSS、JavaScript等)

resources:存放视图文件、语言包和未编译的前端资源文件

routes:存放应用中定义的所以路由

storage:存放编译后的模板,Session文件、缓存文件、日志文件等

tests:自动化测试文件

vendor:存放通过Composer加载的依赖

三、创建用户表

(1)在命令行中创建迁移文件。

(2)在迁移文件的up()方法中添加表结构信息。

(3)迁移文件创建完成后,执行迁移。

(4)创建填充文件。

(5)打开AdminUserTableSeeder.php文件,在run()方法中编写填充代码。

(6)通过命令行执行填充文件。

(7)数据表创建成功后,执行创建模型命令。

(8)打开app\Admin.php,在模型中指定要操作的表名。

-- phpMyAdmin SQL Dump
-- version 5.1.0
-- https://www.phpmyadmin.net/
--
-- Host: localhost:8889
-- Generation Time: May 22, 2023 at 09:55 AM
-- Server version: 5.7.34
-- PHP Version: 7.3.29

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `mana`
--

-- --------------------------------------------------------

--
-- Table structure for table `adcontent`
--

CREATE TABLE `adcontent` (
  `id` int(10) UNSIGNED NOT NULL COMMENT '主键',
  `advid` int(11) NOT NULL COMMENT '广告位id',
  `path` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '图片路径',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `adcontent`
--

INSERT INTO `adcontent` (`id`, `advid`, `path`, `created_at`, `updated_at`) VALUES
(17, 13, 'f0ff843fb6ed8ee1dfc2b67f4023757c.jpeg|fadf7171289819c7088012eac3bb04a0.jpeg|513c6cba999fcbcd9c1bc79d7d522d28.jpeg|1de45c99d10e9189584282fcebd04f88.jpeg', '2023-05-16 00:08:34', '2023-05-16 00:08:34');

-- --------------------------------------------------------

--
-- Table structure for table `admin_user`
--

CREATE TABLE `admin_user` (
  `id` int(10) UNSIGNED NOT NULL COMMENT '主键',
  `username` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
  `password` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
  `salt` char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码salt',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `admin_user`
--

INSERT INTO `admin_user` (`id`, `username`, `password`, `salt`, `created_at`, `updated_at`) VALUES
(1, 'gx', '5231b3ad4d6ccc56b860bdd4cf6347db', '0460c4ba14ec265361197ce0bad0373f', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `adv`
--

CREATE TABLE `adv` (
  `id` int(10) UNSIGNED NOT NULL COMMENT '主键',
  `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '广告位名称',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `adv`
--

INSERT INTO `adv` (`id`, `name`, `created_at`, `updated_at`) VALUES
(13, 'imgbox', '2023-05-16 00:02:59', '2023-05-17 17:35:27');

-- --------------------------------------------------------

--
-- Table structure for table `category`
--

CREATE TABLE `category` (
  `id` int(10) UNSIGNED NOT NULL COMMENT '主键',
  `pid` int(11) NOT NULL DEFAULT '0' COMMENT '父栏目id',
  `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '栏目名称',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序值',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `category`
--

INSERT INTO `category` (`id`, `pid`, `name`, `sort`, `
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值