分类: IT职场
2011-08-25 08:37:39
从PHP基础课开始后,就一直期待第一个项目。紧张地学习了一个月的基础课程后,终于迎来了第一个项目——商城。初次听到项目的内容是商城突然感觉一点思路都没有,回想起自己在网络购物所逛过的商城发现好复杂。而且凭目前所学知识真能搭建一个商城系统吗?纵使界面不做强调,纵使代码不需要太简练只要完成即可,还是让我突然觉得任务有点繁重。一想到后台权限、用户注册、购物车、商品上架、展示等等,这是两周能完成的任务吗?
随着张老师的逐渐引入,把单用户模式的商城主要功能剖析后,却又发现它其实并没有想象中的那么复杂深不可测。甚至还觉得小菜一碟,就是把各个功能块组合到一块即可。并且每个功能模块的编写张涛老师在课堂上都做了案例,如每次课后仔细看看笔记完成项目应该不成问题。由于是第一个项目,总觉得这意味着成为一名PHP初级程序员的开端,于是在开工前,把抓起笔和纸就项目进行规划,可毕竟新手还是新手啊,没有做过项目分析,在纸上写了又划,划了又写,倒腾了两个小时最终还是没有个所以然。最后,就干脆不规划了,直接开工管他三七二十一。
虽说界面不讲究,但也不能太寒酸了。于是一阵狂敲TABLE后不得不宣布停产重DIV搭建,商城虽只是一个练手项目,不实际应用,但还是最大迎合客观实际进行开发,该有的,还得有。页头与页脚写好了以后,开始设计首页。当首页设计差不多的时候发现一天的时间竟然都花在界面上了,心疼啊~~~~!
界面搭建好了以后,主角马上就要登场了。而它也差点把我拖得精疲力竭。首先是后台登陆验证码的问题,验证码之前已经写好,所以只需要调用即可。因为我的验证码加噪点过多,导致每次刷图都不容易辨认图片上的数字。于是把噪点减少,并且顺便把每一次验证码生成的随机数写入SESSION,在登录页面显示SESSION里的验证数字。但却发现一个怪异的问题
,发现显示SESSION验证数字与验证码图片上显示的数字并不匹配,多刷新几次还发现SESSION显示的验证码是上一次验证码图片的内容。也就是SESSION输出的验证码慢了半拍??狂热。仔仔细细检查了程序,没有写错啊。实在想破了头都想不出是哪里出了问题。把张老师的案例拿过来对比,也没发现有什么不对劲的。实在没辙了。于是试试能不能按照验证码图片上的内容通过验证,结果居然顺利验证通过。这更让我丈二摸不着头脑了……但最后为不了不耽误太长时间,反正能登录就好。后面终于知道输出SESSION语句优先于代码生成,所以输出的总是比图片的慢一拍。
下来,搜索分页是我差点崩溃的地方。第一个搜索分页是做后台会员管理搜索分页。分页做好以后还自我骄傲了好一小会,可增加搜索功能后足足让我耗了两天时间……哭死~~。搜索是能搜索出来了,但只要一点击下一页,搜索条件就消失了。于是开始寻找问题,既然分页链接时需要GET方式在A标签后面传送页号,那么搜索条件应该也可以通过A标签传送。折腾了半天,但最后怎么测试都不成功,也许是WHERE语句里带单引号导致的。于是只好采用SESSION方式传送WHERE条件。虽然问题解决了,但总觉得自己用的方法比较笨。
搜索分页做好了以后,下来的其它功能模块做得特顺利。
经过两周不分昼夜的忙活,项目终于出炉。感觉这漏洞百出的商城让自己倾注了太多的心血,总结了一下自己在这个项目中的感受。我感觉最大的难点是解决HTML的无状态,让我耗了好多精力去解决。比如,当前你无论在哪个页面,当前台用户登录,退出,都要保持在当前页,如果是搜索商品页那还得保留在商品页加页号。当然用户点击购物车后,可以点击返回页面按钮返回到刚才页面继续购物等等。感觉每实现一个功能页都不容易。最经典的就拿用户管理来说,后台用户管理分页虽然做好了,但当你点击用户详情,并修改用户信息后,点击返回,就又回到了第一页。类似这样的情况好多好多。
第一个项目虽然有众多的不足之处,如注册用户没有使用正则,商品描述信息没有使用HTML标签处理。但几乎所用到的知识都涵盖了全部PHP基础部分,锻炼性特别强。甚至经常语法错误的学员,相信经过第一项目以后一定会有很大程度上的改善。
对于还没有做过第一项目的新学员,希望好好完成第一个项目。当你知道如何去完成某一个功能的思路时,无论过程多么繁琐,代码量多么庞大,尽量去实现。记住了,第一个项目重点知识练习PHP基础,所以代码量越多,你下的功夫越多,收益也就越大。
原文地址: