(一)ThinkPHP实践之留言板前台

云梦博客
80
文章
0
评论
2018年5月31日16:34:25 评论 5662字阅读18分52秒

这里是源码下载地址,随着项目深入,会不定时更改源码文件
https://github.com/tonyty163/message-board/archive/master.zip

在这里的大部分代码是通过thinkphp的官方视频教程来学习的。如果觉得文字太枯燥的话,也可以看视频学习。
视频链接:http://www.thinkphp.cn/document/313.html

以后我们知识点的讲解,会专注精力在项目讲解上,以结果为导向提供大家所需的知识讲解。

留言板是我们的第一个项目,那么我们就来认真分析下留言板的需求,以及由哪些功能模块来实现的。
1、前台功能
(1) 显示留言
需求:进入留言板,要先看到别人的留言
功能模块:展示系统内所有留言

(2) 签写留言
需求:写入自己的留言,可实名,可匿名
功能模块:插入留言,跳转回留言页面

2、后台功能
(1) 留言管理
需求:管理员需要对留言进行管理
功能模块:删除留言

在开始编写项目之前,需求分析是一个重点任务,好的需求分析,可以达到事半功倍的作用。

一、前台
1、需求分析
(1)显示内容:将数据库内所有留言信息显示,内容包括(留言ID,用户名,内容,留言时间)
(2)新增内容:用户名(可留空,默认为匿名用户),内容(必填内容)

2、建库
知识点:
1、数据库建库,建表,
2、数据类型了解
3、SQL语句了解
4、phpmyadmin工具熟悉

数据库需求
需要提交留言板内容
id(留言用户id) 类型为int,最大长度11位
username(用户名) 类型为char,最大长度16位,不能为空,默认值为“匿名用户”
content(内容) 类型为varchar,最大长度100位,不能为空
time(留言时间) 类型为timestamp,默认值为“当前时间”

由上所知,数据库结构为
库名message_broad
表名tb_broad
id int类型(11位长度),非负,非空,自增
username char类型(16位长度),非空
content varchar类型(100位长度),非空
time timestamp类型,非空,默认是当前时间戳

建库语句(如果不熟悉,可以采用一些工具来协助实现,如phpmyadmin),建好库board以后,直接复制以下SQL语句,即可完成建表操作

3、修改相关配置
知识点:
1、thinkphp运行机制,目录结构
2、index.php入口文件,App配置,调试模式,引用框架
3、config.php配置文件,配置数据库相关连接参数

数据库配置好后,可在项目目录的入口文件定义项目名称,文件创建位置在网站根目录下(我的本地环境中为C:/wamp/www/)message(自建项目目录)/index.php
在开始配置之前,建议把下载好的thinkphp框架文件拷贝到message目录下,在这里我下载的是3.1.3版本,目录名注意大小写(ThinkPHP),这样在你调用的时候可避免因为环境不同而产生的错误
接下来就要在index.php入口文件中定义相关项目,具体内容如下:

老规矩,配置完这条,看见笑脸,就说明你配置框架成功了。同时可在message目录下,生成了board目录。

接下来我们需要完成相关的数据库配置,即可在控制器中完成相关数据库操作
文件路径为message/board/Conf/config.php
添加内容如下:

4、建立控制器 Controller
知识点:
1、控制器目录结构
2、控制器运行流程
3、控制器IndexAction定义
4、默认方法index()定义,数据库实例化M方法,查询数据,插入数据,赋值变量,调用模板,并将变量传入模板
5、自定义表单提交方法handle,提交表单验证,异常处理,提取表单数据方法I,将表单数据插入数据库,成功和失败方法反馈,跳转方法U

配置全部完成,接下来就是我们开始写控制器的时候了,入口文件进来,都会找默认控制器,路径为message/board/Lib/action/IndexAction.class.php
将原有内容删除,拷贝以下内容替代:

由于没有用到过于复杂的逻辑操作,所以就不引入模型了,直接进入视图Viewer的讲解。

5、建立模板表单 Viewer
知识点:
1、模板路径
2、模板表单html文件基础,可参考相关html文档
3、模板中调用thinkphp函数U
4、foreach标签用法(非html标签),循环输出变量中的各字段
5、将输出字段作为输入,传递给函数处理

控制器建立完毕,接下来就要基于控制器指定的路径建立Index目录index.html模板文件,路径为message/Tpl/Index/index.html,如有不理解,可以仔细查看控制器讲解

继续阅读
weinxin
我的微信公众号
扫一扫获取最新动态
  • 文本由 发表于 2018年5月31日16:34:25
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
生活中的苟且 网络杂谈

生活中的苟且

生活中的苟且代表的什么,而诗和远方又是什么。人们常说在生活中若是跨过去了就是诗和远方,跨不过去就只能苟且。在海子的诗中也这样写到:我有一所房子,面朝大海,春暖花开……。我只愿面朝大海,春暖花开。   ...
0基础30天精通网站建设,月入6000元起 网红项目

0基础30天精通网站建设,月入6000元起

读完本篇,将教给你月收入6000元的能力,这里将要介绍一套技术实操型课程,同时会免费送每位读者一个价值12000元的课程。这是一门真正的技术,是所有网络项目的基础,是网“贝兼”的必备技能,也是目前市场...
MySQL实战篇:建立高性能的MySQL技巧 网络杂谈

MySQL实战篇:建立高性能的MySQL技巧

前言 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特...
MySQL进阶:从小工到专家的必读书籍 网络杂谈

MySQL进阶:从小工到专家的必读书籍

各大论坛上总是有很多同学咨询学习MySQL有哪些书,或者是入行DBA要做哪些准备。今天就和大家分享下想学习MySQL可以选择哪些书籍。 数据是Web应用程序最重要的部分。随着互联网和高端Web应用程序...