大二上学期开始学习网站建设的知识,参加了校内的一个社团。
刚开始学习的是HTML/CSS,关注重构方面,后期是PHP,后台方面。11月左右开始组队参加内部比赛,1个月后进行展示。
因为某种不(mei)可(you)抗(ren)拒(yao)的原因,最后和一个大一的设计师组队。我负责前端和后台。作品最后拿了一等奖,我拿了最佳研发。
接下来几天慢慢把当时做这个作品的各种坑写在这里。噢,最后的作品名是Gee!Jee!,目标是做一个众筹网站。
后台准备工作
交接
前端重构完成后,和框架结合时需要做一些改动:
- 把html文件放入view文件夹,把css/js/images/文件夹及其内容放进根目录下的PUBLIC文件夹。
- 修改html文件内容:
- 修改css/js/images路径:添加PUBLIC/
- 修改各个超链接的路径:URL/控制器中操作名(一般为链接网页名)[确保都是放在一个模块下,否则URL/模块名/操作名]
之后就是开始写后台啦:
写控制器/模型模块
- 用户注册登陆模块
- 作品上传模块
- 主页作品展示模块
- 作品详情模块
- 众筹模块
- 上传头像模块
- 分页模块
- 作者展示模块
分析
上面这些是当时敲代码时写的,现在看来发现当时做的好乱。。接下来慢慢看模块当时的写法吧。
1.用户注册登陆模块
- 注册模块:
- 多用var_dump()查看错误信息;
- 非法数据对象:是否用了post,表单是否有name属性,是否有错,自动验证是否有错
- 页面跳转:查看url是否有错,$this->success(‘登陆成功!’,’index2’,2),直接填写方法名
- 查询出错:查看语法,使用数组传递条件:12$condition['email'] = $email;$result = $User->where($condition)->find();
当使用select()方法时会返回多个数据集。使用:$result[0][‘id’];
- 登陆模块:
- 用户头像:使用模型的函数记得用D方法,正确处理图像的路径。
- 检测是否登陆:session。根据是否登陆改变的html内容在控制器中赋值,Thinkphp会自动转义字符。
- 默认用户头像:在数据表中设置好默认的路径
- 全局session:封装成函数,每次都调用。应该有更好的办法。
2. 作品上传模块
$info['file1']['savepath']
单独取出存储到数据库时使用该语法;- 不知道如何调用数组时var_dump来查看数组组成。
- 文件上传模块可以和数据上传模块一起使用,测试过程良好~一路顺畅。