浅谈博客项目是如何实现的(一)

题记:不知道怎么回事,最近经常性的失眠。还有两周即将“出关”,这艰难的四个月终于快结束了。话不多说,我们进入正题,基于tp5.1编写博客项目。

1.正常的博客软件,大概有如下几个功能:登录、登出,文章管理,用户管理,最主要的就是这三个模块。我们就基于这三个模块开发,其他的等涉及到再说。

2.假设需求就是这些内容,其他要求不限制。那我们就来分析一下数据表该怎么建立? 首先要有users表其次articles文章表,categories 文章分类表,tags标签表,最后建立一张 blog_article_tag_map文章标签关系表 如下图1所示

CREATE TABLE blog_users(

id INT not NULL auto_increment PRIMARY KEY,

username VARCHAR(64) not null DEFAULT '',

password VARCHAR(128) not null DEFAULT '',

nickname VARCHAR(128) not null DEFAULT '',

intro text DEFAULT '',

avatar VARCHAR(255) not null DEFAULT ''

) ENGINE INNODB CHARSET utf8;

CREATE TABLE blog_categories(

id INT not NULL auto_increment PRIMARY KEY,

name VARCHAR(64) not null DEFAULT '',

created_time int not null DEFAULT 0,

user_id int not null DEFAULT 0,

INDEX(user_id)

) ENGINE INNODB CHARSET utf8;

CREATE TABLE blog_tags(

id INT not NULL auto_increment PRIMARY KEY,

name VARCHAR(64) not null DEFAULT '',

created_time int not null DEFAULT 0,

user_id int not null DEFAULT 0,

INDEX(user_id)

) ENGINE INNODB CHARSET utf8;

CREATE TABLE blog_articles(

id INT not NULL auto_increment PRIMARY KEY,

title VARCHAR(128) not null DEFAULT '',

body text DEFAULT null,

create_time int not null DEFAULT 0,

update_time int not null DEFAULT 0,

category_id int not null DEFAULT 0,

user_id int not null DEFAULT 0,

INDEX(category_id),

INDEX(user_id)

) ENGINE INNODB CHARSET utf8;

CREATE table blog_article_tag_map(

id int not null auto_increment PRIMARY KEY,

article_id int not null DEFAULT 0,

tag_id int not null DEFAULT 0

)ENGINE INNODB CHARSET utf8;

图1

3.表建立完成以后,我们在git上新建一个空库,名字随意,如下图2所示tp-(PS:希望大家还是起的严谨一点,tp—这个名子被我们大佬怼了好一阵~~~~)

图2

4.把这个空库clone下来,(1.用composer下载tp5.1的源码到tp-文件夹下 2.用git clone好tp5.1粘贴到tp-里面去)目录结构如下图3所示


图3

5.把这个框架push到远程版本库中备份。(也可以不做啦~毕竟空的上传也没有意义)

6.cd 到tp-目录下 输入php think build --module 模块名  tp会帮助我们自动生成模块,如下图4所示,形成mvc目录结构

,图4

7.将js,css,bootstrap,jquery等前端文件放到static文件夹下面,修改路由,如下图5所示


图5

8.路由已经定义好了,那么我就要到frontend模块下定义Index控制器的index()方法如下图6所示


图6

9.controller层已经定义好,那么对应的view就必须也要定义好。如图7所示,homepage.html中所放的是前端首页的源码。(后端项目,前端就不介绍了)。


图7

10.这时候http://localhost/code1/tp-/public就能访问首页了,这时候我们可以做点花哨的东西修改本地hosts 定义xujun.cn 127.0.0.1 然后到Apache下修改如下图7-1~7-2所示,重启Apache


图7-1
图7-2

11.输入xujun.cn如下图8所示


图8

12.需要注意的是样式问题如图9-1~9-2

图9-1
图9-2

13.关于session在runtime的temp里面如图10


图10

14最后别忘了 push一下代码 如图11


图11


暂时先讲到这里吧~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容