1、 闽江学院 本科毕业论文 (设计 ) 题 目 基于 laravel 框架 的个人博客 发布 系统 学生姓名 _ 学 号 _ 系 别 软件学院 _ 年 级 _ 专 业 软件工程 _ 指导教师 _ 职 称 _ 完成日期 _ 摘 要 本管理个人博客系统是的制作想法是因为目前大多的博客平台的写作方式以及博文的管理方式都太过于传统以及繁琐,所以我希望吧 markdown 这种写作方式带给大家,让大家可以感受到 markdown 这种写作方式带来的写作快感。也希望位自己制作一个新的写作平台,建档方便的写作平台。 我希望搭建一个美观使用良好的博客系统,可以用来记录自己的平 日的灵感或者是作为生活笔记。本人使
2、用博客很长时间了,也深刻体会到一个博客系统对于一个技术人员的重要性。如果是一个程序员的话博客相当于是技术沉淀的一种方式。 博客系统最重要的是记录方式,以及浏览的体验。使用 markdown 的好处就是我们不需要进行复杂的富文本编辑器的操作,只需要特定的字符就可以进行文章的排版。Markdown 编译称 html 之后我们可以加入对应的样式表,可以做出我们想要的博客的样子。本系统还提供了博客的编辑以及修改删除的功能,让博客的博主可以快速的进行博客的管理,还提供了博客的评论的功能,让博客 的浏览用户可以对博客进行评价,这样就能提供很好的交流方式。 本系统的前端使用最新的组件化开发的方式,使用 vu
3、ejs 这个框架进行开发。前端单页应用和后端 api 分开,让耦合性大大的降低。这样前端和后端的开发可以完全的分开。 Markdown 编辑器使用的是 editer.md 这个开源的编辑器,可以很轻松的集成到网站中进行使用。 关键词 : laravel;博客系统; php; docker; mysql; B/S 模式 I Abstract This management personal blog system yes production idea because the present most blogging platform of writing and the way the po
4、st management is too traditional and trival, so I hope the markdown this way of writing to you, let you can feel the markdown this way of writing brings the pleasure of writing.Also hope to make you own a new writing platform, by inputting a convenient platform for writing. I hope to build a beautif
5、ul and use good blog system, which can be used to record their daily inspiration or as life notes.I use the blog for a long time, also deeply realized a blog system for the importance of a technician.If you are a programmer blog quite a way and technology precipitation. Blog system is the most impor
6、tant record, as well as the browsing experience.Using the advantage of the markdown is we dont need to do a complex operation, rich text editor only need specific character can be an article typesetting.Markdown compiled according to the HTML then we can join the corresponding style sheets, can make
7、 what we want the look of the blog.This system also provides the functionality of the edit and modify delete blog, blog can quickly manage the blog, also provides the function of blog comments, let blog browsing user can evaluate the blog, so it can provide a good way to communicate. The front of th
8、is system using the latest modular development way, using vuejs this framework for development.Front page application from the backend API, let coupling greatly reduced.This front end and back end development can be completely separated.Markdown editor using the editer. md, of the open source editor
9、, can be easily integrated into the website to use. Keywords: laravel;blog system; PHP;Docker.Mysql;B/S mode II 目 录 1、引言 . 1 1.1 博客管理系统的意义 . 1 1.2 博客管理方式以及写作方式的发展 . 1 1.3 预期功能 . 1 2、开发工具简 介 . 3 2.1 laravel 简介 . 3 2.2 MySQL . 3 2.3 包管理 -composer . 3 2.4 vuejs. 4 3、系统可行性研究 . 5 3.1 可行性分析 . 5 3.2 系统需求分析
10、 . 5 3.2.1 博客 系统 身份 功能 . 6 3.2.2 博客页面显示模块 . 6 3.2.3 博客个人维护模块 . 6 3.2.4 后台管理系统 . 7 4、 博客 系统设计 . 9 4.1 博客 系统模块结构设计 . 9 III 4.1.1 数据库的连接 . 9 4.1.2 确定该系统要实现的功能 . 10 4.2 博客 功能模块设计 . 11 4.3 博客 数据库设计 . 14 4.3.1 数据库结构 . 14 4.3.2 数据库逻辑数据模型 . 17 4.3.3 数据库的实现 . 18 5、详细设计与 实现 . 22 5.1 详细设计概述 . 22 5.2 读者用户功能实现 .
11、 22 5.2.1 读者用户注册页面 . 22 5.2.2 用户登录 . 23 5.2.4 查看博客详细内容 . 28 5.2.4 评论添加 . 31 5.2.6 文章编写模块 . 35 5.3 系统管理员 后台 . 36 5.3.1 后台数据管理 . 36 5.3.3 后台管理员信息管理 . 38 6、系统测试 . 43 6.1 系统登录测试 . 43 IV 6.2 文章发表测试 . 44 6.3 后台 博客数据查看测试 登录测试 以及种类添加测试 . 45 7、结束语 . 47 7.1 感言 . 47 7.2 不足及启发 . 47 致谢 . 49 1 1、引言 1.1 博客管理系统的意义
12、网络技术现在已经广泛的应用在我们的生活中了,以前的联系方式也正在改变,然而博客是一个非常重要的一个媒介。博客现在已经是一个大众交流的一个重要载体,我们可以通过博客记录我们自己的很多事情以及工作上的经验等等内容,网络博客十分方便我们去记录我们日常中需要记录的东西 博客文章都是通过时间或者关注以及喜欢程度进行排列的,常见的是越多人阅读的博客 就会月拍在前面。比如博客园中很多的博客都可以提供很多的专业知识以及专业的英文技术文章的翻译,也有个别大牛的日常生活也会有人围观,博客现在作为一个文字媒体收到了很多人的关注。博客给那些需要学习他人经验的人带了许多的便利,好学的人可以有很多的收获。 1.2 博客管
13、理方式以及写作方式的发展 博客是一种人类写作在网上的一种方式,一般来说是通过经常更新的文章列表构成的,这些文章都是通过日期以及受关注来进行排序的。 Blog 的内容可以你是自己的的想法,也可以对于是某些事情的评价,或者是对你生活的分享,或者是你做的有趣的事 情等等 最近出现的新的博客写作方式 markdown。 Markdown 可以看作是一种写作的编程语言,我们可以使用特殊的符号写出漂亮的文章。 Markdown 是一种新型的渲染型的写作方式,代表着一种极客的潮流。他简介的和易于入手的写作语法对比那些笨重的富文本工具,看起来清新有好用。 Markdown 现在最大的使用人群是码农,因为现在
14、github 的盛行,每个项目中都会用到 readme.md 来对项目进行说明。 Markdown 可以使用简介的语法书写复杂的文章,条理清晰而且易于观看。Markdown 可以使用特殊符号来创建 表格,分割线,图片,引用,列表等。现在也有很多开源的 markdown 编辑器可以使用,可以说是十分的方便。 1.3 预期功能 现在的博客系统最主要的还是写作的功能,写作必须舒适而且快速,这个是博客系2 统是否好用的一个关键因数。对于想最早的时候人们写的博客都是以日记的方式记录,这种方式在现在过于原始。 本 篇论 文主要 描述了开发实现 博客 关系系统的 设计步骤,开发 运用的那些 工具 以及所能实
15、现 的功能。 (1)注册登陆, 这里是让用户可以对本系统进行用户的注册,我们可以新建账号来使用系统 (2)博客内容书写 博客内容的书写使用的是 editer.md 这个开源的 html5 的 markdown编辑器,可以快速的尽心博客的编辑。 (3)博客内容评论 博客评论是博主和博客浏览者的互动关键的功能。 (4)博客内容修改 博客的修改时一个修订博客文章的手段,博文在发表之后如果存在错误就要进行必要的修改,以保证博客的质量。 (5)博客内容删除 博客内容需要博主自己来进行管理,不需要的,或者需要删除的博客博主可以自行删除。 (6)博客用户管理 博客用户会非常的多的,我们如果是管理员的话我们应
16、该有一个平台来管理这些用户。 (7)博客点赞 博客点赞是一个统计 博客受欢迎程度的一个重要的环节 (8)博客分类以及搜索系统 博客分类和搜索时一个博客博文系统友好度的关键,博客是然人来阅读的,需要有一个良好的分类系统以及搜索的模块来然用户进行搜索。 (9)后台用户权限系统 后台系统需要进行权限分配,让管理员可以分派各个模块让不同的人进行管理。 (10)前段组件化 前端的组件化可以让前端的单页面应用编程更加快速。 (11)跨域 api 调用 由于这个后端只是提供 api给前端使用,我们就要进行跨域登陆,来解决不同的域名 api调用的问题。 3 2、开发工具简介 2.1 laravel 简介 la
17、ravel 是一个 以优雅为特点的开发框架 ,使用 composer 管理依赖包,各种依赖各种强大的包,使得 laravel框架异常强大。 在 laravel 中有一个高级的 orm查询类库 -Eloquent ORM,他能进行强大的数据库查询,比如关联查询以及各种复杂 where 查询, join 查询。以及对表和 php 类的对象映射,这样可以满足程序员不用写 sql语句就可以进行快速的 sql查询。 Laravel 的控制器是十分的灵活可以直接在路由中进行声明,而且语法很优雅,具有很多亮眼的特性。这个路由的设计理念是可以 有最大的灵活性,又不会失去作为可以构建大型企业应用的性能。 2.2
18、 MySQL Mysql 最早只是一些小型的互联网公司在使用,而现在越来越多的使用在大型的网站中了,也经受住了高并发的考验。 Mysql 是互联网公司最为喜爱的数据库系统,因为其社区的活跃以及开源的性质,是的 mysql被广泛的修改以及使用。包括国内的 bat 都在使用 mysql 作为系统的数据库软件平台。而且 mysql 可以方便的搭建出读写分离的架构,可以快速的进行数据库的集群部署。而且还有很好的兼容性,可以再各个平台上面安装数据库,包括 windows, unix以及各大 linux 系统 2.3 包管理 -composer 由于 composer 的出现 php 才会有一个统一的规范
19、,使得不用一直造轮子。方便了PHP 开发人员,也让 php 的代码越来越规范化。 Composer 提供了一个统一 autoload 的方案,使用的是 psr3 的规范,命名空间和文件加路径相互映射提供灵活的 php 文件的 require方式。 4 Composer 还提供了一个远程的代码库,可以使用简单的命令就可以下载代码包到本地进行使用。这个代码库还可一和 git 以及 svn 等工具一起联动,可以讲 git 和 svn 的 库当成代码包来使用。而且只需要简单的创建一个 composer.json 就可以进行代码包的管理以及下载。 2.4 vuejs Vue 是一个组件化的解决方案,可以
20、快速搭建组件化的网页,以及单页的应用。而且 vue 提供许多的第三方的包支持。 我们使用 vue 可以进行方便的动态数据到界面的更新,这得益于 vue 提供的双向的数据绑定,我们可以直接操作对应的 data 数据就可以吧相应的改变显示在界面上。 Vue这类框架的出现直接催生了 web 单页应用的热潮。 Web 单页应用的用户体验很好,现在的 web 都在网单页应用发展,一个像 app 一样的网页可以带来颠覆性的体验。 Vue 的组件化是通过利用 js 的元素的 get 和 set 方法来实现的,然后动态坚挺 get 以及 set 的变化来进行页面数据的渲染。我在项目中还是用了一个 vue 组件的路由框架 vue-route 以及 vue 组件的外部数据管理框架 vuex 来搭建一个强大的 web 应用。