题记:不知道怎么回事,最近经常性的失眠。还有两周即将“出关”,这艰难的四个月终于快结束了。话不多说,我们进入正题,基于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;
3.表建立完成以后,我们在git上新建一个空库,名字随意,如下图2所示tp-(PS:希望大家还是起的严谨一点,tp—这个名子被我们大佬怼了好一阵~~~~)
4.把这个空库clone下来,(1.用composer下载tp5.1的源码到tp-文件夹下 2.用git clone好tp5.1粘贴到tp-里面去)目录结构如下图3所示
5.把这个框架push到远程版本库中备份。(也可以不做啦~毕竟空的上传也没有意义)
6.cd 到tp-目录下 输入php think build --module 模块名 tp会帮助我们自动生成模块,如下图4所示,形成mvc目录结构
7.将js,css,bootstrap,jquery等前端文件放到static文件夹下面,修改路由,如下图5所示
8.路由已经定义好了,那么我就要到frontend模块下定义Index控制器的index()方法如下图6所示
9.controller层已经定义好,那么对应的view就必须也要定义好。如图7所示,homepage.html中所放的是前端首页的源码。(后端项目,前端就不介绍了)。
10.这时候http://localhost/code1/tp-/public就能访问首页了,这时候我们可以做点花哨的东西修改本地hosts 定义xujun.cn 127.0.0.1 然后到Apache下修改如下图7-1~7-2所示,重启Apache
11.输入xujun.cn如下图8所示
12.需要注意的是样式问题如图9-1~9-2
13.关于session在runtime的temp里面如图10
14最后别忘了 push一下代码 如图11
暂时先讲到这里吧~~~~