Home  >  Article  >  Backend Development  >  想用php写个简单的个人博客系统?

想用php写个简单的个人博客系统?

WBOY
WBOYOriginal
2016-06-17 08:31:523068browse

不用wordpress之类现成的东西,想自己手写,主要是想巩固一下暑假期间看的PHP的基础知识。
先肯定是建数据表嘛,常规来说,一般分几个表?管理员信息表,博文表,评论表,文章分类表....这里感觉不知道该建哪些表,我看很多博客都还会有一些文章标签,文章归档,浏览榜,热门评论之类的东西。
参考了一些教程,整个博客用MVC方式,这个大致上还知道一下,没有用过thinkphp之类的框架,不知有没专业人士能够大致上说一下具体的结构。

回复内容:

如果你只是练手。建议:
1. 到github找个好的项目阅读源代码
2. 找个好的教程对着练习 数据库是一切数据的基础,按你自己的需求来进行设计
首先你需要从产品设计着手,先想好你这个程序将会涉及到有哪些功能点(后台管理?多用户共存?多层分类?单文章多分类?标签?文章标题图?相册系统?)。
比如你需要多用户系统,那就需要member表,如果需要后台管理,则有两种选择,单独建立administrtor表或者管理员也存在member表,后者的话,可以再创建一个member_type表来定义用户类型。初级的都是诸如此类的问题,设计出来的数据库能满足你的产品需求就可以了。再进一步的话,用户可以自定义字段,那需要一个member_custom表之类的,以key->value形式来存储用户自定义的属性。
刚开始设计笨拙一点没关系,主要可以体会到数据库这类比较死板的数据存储形式的局限性,在你有需求变动的时候就可能要做更多的修改工作才能满足。所谓经验就是你在之后再做这类工作的时候知道这些设计的长短处(更灵活的设计意味着程序需要更多更巧妙的代码),做出相应的取舍。 我真的发现终于有个问题有资格回答了。
首先,我觉得,刚上手的话,还是别拿别人的改,你可能看都看不懂。

这学期有个软件课,然后我们组我定的就是写个博客,本人了解知识:mvc框架基本流程(不是某个mvc框架哦),php基本知识,数据库操作,html+css部分知识。
好了,于是我开始动手了,虽说是一个组,但是我是一个人完成的。
先写框架:
index.php入口文件:路径常量,自动加载,分发参数。
框架文件:包含数据库操作,工厂模式生成单例模型,基础控制器,基础模型类。
应用程序文件:平台文件夹:model,view,controller。
一个博客,要分为前台和后台。
前台主要是访问者看到的,就是:首页,文章分享,笔记分享,自我介绍,留言板,搜索框,文章归档,标签栏等功能。(核心就是mysql查询,加过滤显示,加前端排版,sql注入等)
后台就是管理员操作:登录,控制session,文章的CRUD,笔记的CRUD,留言板的CRUD,退出等功能。(后台的核心,操作数据库,过滤数据,转义数据,注入等)
后台最重要的,你看别人的博客,文章里是有图的是吧,然而单纯的用areatext是没法做到的,百度一下,不对谷歌一下:富文本编辑器。然后有很多免费的富文本编辑器,下载一个好点的,有文档有说明,照着做,然后插入的数据记得过滤,不过你在前台显示的时候,不是要显示标题和部分内容吗,做好过滤:可能用到strip_tags,mb_substr等等。
然后基本的博客就出来了,不过漏洞应该是多的数都数不清,怎么办呢,继续学习吧题主,一起加油! 数据库设计

1 用户表:用户编号,登录名,密码,显示名,用户分类编号(0:普通用户,1:管理员),其它

2 文章分类表:分类编号,分类名,父分类编号(0:根分类(可实现无限级)),排序,其它(如是否显示)

3 文章表:文章编号,标题,摘要图,摘要内容,内容,发表时间,统计(浏览,评论等),发表人(用户编号),文章分类(分类编号),关键词(,词一,词二,词三,),排序,置顶,推荐,其它(如是否显示,是否允许评论等)

4 导航表:导航编号,导航显示名称(如:我爱php),导航地址(如:php,如果用php框架可以实现用户访问test.com/php,程序自动读取本导航对应文章分类下的数据),文章分类(分类编号)


5 评论表:评论编号,评论内容,发表时间,所属文章编号,所属父评论编号(可以实现无限级评论),发表人编号


6 文件表:文件编号,文件存放地址(一般绝对于根目录如:/file/img/1.jpg),文件大小,文件类型(0:图片,1:文件(一般是只能下载的txt,rar,zip...),2:video....),发表人编号

7 站点基本信息表:浏览器title,keyword等..




大致程序结构

1 共用部分:用户登录,用户退出,用户个人页面,用户上传文件管理等

2 后台部分(仅管理员可以进入):上述所有数据库表的增,删,改,查

3 前台部分:按所有可用导航写文章列表与文章详细页面,文章详细列评论与添加评论;可能还会出现普通用户个人中心(方便用户看自己看过哪些文章,在哪些文章发过评论)



框架选择

我学过tp,但我用的是ci,因为我觉得ci非常简单,ci的手册写得非常好



可能涉及到的难点
编辑器,现在大多用百度ueditor,但我还是用的是kindeditor
难点在于这些编辑器本身不自带用户文件管理(例如用户发评论的编辑器中选择插入图片,可以选择以前已上传的图片),你得自己改动原编辑器代码,实现这个功能 谢邀,你说不想用wordpress我,想自己动手写,巩固基础知识。
你不知道改写一次前人的作品收获远远大于自己瞎折腾吗? 博客的框架结构都是大同小异,不管是php还是其它编程语言,如果你想独立完成一个博客系统,你可以参考成熟的博客系统,Wordpress比较大,建议你从emlog入手,先学会用,再学会二次开发,再来独立开发,取其精华,加上自己的创新,你将获益匪浅。 以自己的能力去写一个强大的程序很难的,何况你是学习,你可以用来写个新闻发布系统试试,其实原理也都差不多,主要是安全方面。 可以加我QQ,我发我的数据库设计文件给你。。4873473.。
我自己写的一个博客系统,用TP3.2.3写的,最近想用YII框架重写。。 我感觉我可能会被全世界最好的一帮程序员围攻,但是本着分享的精神,发给题主一个链接,谨慎点击,github.com/tornadoweb/t PHP只需要用来输出数据库,以json格式输出文章等内容,靠js原生解析
评论引用外部现成的评论系统,如:多说、QDiscuss等

为什么很多东西都要依赖后端,有必要吗?
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn