




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TP电商项目TP电商项目1简介1项目的搭建2代码管理8项目实操-商品管理9商品表-建表9代码13建立GoodsController13GoodsModel创建17插件使用19学习validate插件19ueditor在线编辑器插件24在线编辑器使用后的问题:28HTMLPurifier插件使用29扩展31简介天数:8天1. TP版本 3.2.22. 数据库管理工具:phpmyadmin(navicat 、sqlyog、MySQL Front、 mysql-workbench(MySQL数据建模))3. 代码管理 SVN(服务器)4. 模块:商品管理、会员注册模块(手机验证+邮箱验证)、订单操作
2、、购物车(支付宝)等5. 插件:a. validate.js 前端验证(06年 jQuery开发者之一)b. ueditor 在线编辑器(百度)c. HTMLPurifier插件(主要是防止xss攻击)d. 多说(第三方评论)e. lightBox 灯箱(做图片详情展示)f. MagicZoomPlus(放大镜插件)一般使用TP框架开发一个电商网站,在两个月左右可以做到 v1版本 上线使用(可能会存在一定的bug,但不影响基本的功能使用),价格在2-5w不等。使用ECShop来做二次开发上线的话,大概在一个星期左右。最终,需要大家理解的是一个电商项目的完整的流程。项目的搭建1. 关于模板拼图
3、UI :2. 网站目录创建添加虚拟主机修改hosts文件3. 导入TP框架的代码4. 利用URL地址访问(利用TP自动生成目录)5. 然后建立一个后台分组(注意:这次开发先从后台开始)6. 需要配置一些信息tp通用配置文件7. 建立静态资源和上传目录8. 配置一个phpmyadmin管理工具访问:域名+public/phpmyadmin可能出现问题:1. mbstring的开启(php对多字节的处理库)错误:解决:iconv() 函数json_encode($data) / 数据必须是utf-82. mysqli的扩展代码管理项目检出地址:0:8080/sv
4、n/账号:test密码:空项目实操-商品管理主要使用TP完成对一张表的操作(CURD 增删改查),其本质就是对模型的操作增加和编辑:前台验证和后台的验证,前台:主要是为了用户的体验;后台验证:主要是为了数据的安全,永远不要相信前端提交过来的数据,服务器一定验证。查询:翻页,排序,搜索删除:伪删除商品表-建表注意:对于主键ID一般选择什么数据类型合适?答:int mediumint smallint tinyint 无符号 正数int 0 - 42亿mediumint 0 -1千6百万smallint 0 65535tinyint 0 - 255参照MySQL手册:注意:auto_increme
5、nt 一定要为主键,主键不一定需要自增注意:goods_name 是否需要建立索引的问题?答:不需要的,一般对goods_name 都会使用 like 做模糊查询,所以不需要。但是有的时候需要快速查找,这个时候可以使用sphinx做查询。注意:对于goods_price 需要建立索引吗?答:建立,价格排序(索引 排好序)总结:1. 表前缀2. 主键ID类型选择3. 尽量设置为not null4. 索引的考虑表名:it_goods需要建立的字段?id mediumint unsigned auto_increment primary comment“主键”goods_name varchar(4
6、0) not null comment “商品名称”goods_number smallint not null default 0 comment “商品库存”goods_price decimal(10,2) not null default 0.0 comment “商品价格”is_sale tinyint unsigned default 1 comment “是否上架 默认是 1 代表上架”is_new tinyint unsigned default 1 comment “是否新品 默认是 1 代表新品”is_hot tinyint unsigned default 1 comme
7、nt “是否热销 默认是 1 代表热销”is_best tinyint unsigned default 1 comment “是否精品 默认是 1 代表精品”goods_img varchar(150) not null default comment “商品的图片”goods_thumb1 varchar(150) not null default comment “商品缩略图-小54*54”goods_thumb2 varchar(150) not null default comment “商品缩略图-中312*312”goods_descp text comment “商品描述”使用
8、phpmyadmin操作1. 数据库创建2. 建立it_goods表3. 表中字段主键价格精品图片和详情4. 查看表中详情5. 导出6. 导入注意这里有限制大小:可以修改php.ini文件的上传大小设置即可更改。代码1. 完成这个功能需要几个文件?答:1. GoodsController 2. GoodsModel 3. 三个静态页面(addedtlst)建立GoodsController1. 创建一个add方法来添加数据2. 创建一个add.html静态页面3. 效果4. 创建一个lst方法5. 创建一个lst.html静态页面GoodsModel创建1. 创建一个GoodsModel,并增
9、加自动验证规则详情参照手册:插件使用使用三个插件1. validate.js 前端(浏览器)插件,用户的数据一定要前(js)后(php)验证2. ueditor 在线编辑器3. HTMLPurifier插件 防止XSS攻击学习validate插件官网:/项目实操1. 引入文件2. add.html调用(注意顺序问题)3. 为form表单定义一个ID,以方便获取该元素4. 添加验证规则具体规则可以参考手册5. 修改样式自己定义一个label标签的样式文件效果ueditor在线编辑器插件地址:试用体验:帮助文档:实操1. 引入文件2. 需要为te
10、xtarea定义个一个ID 属性有兴趣的了解 sea.js 解决js顺序加载的问题3. 使用UE.getEditor(“ID”)调用效果:4. 可以简单的配置一下具体的配置文件信息配置后的效果在线编辑器使用后的问题:当时在线编辑器之后,HTML标签无法正常的显示,其主要的原因是由于I()函数中使用了htmlspecailchars()函数来过滤表单提交的数据。问题的解决方案:1. 去除掉系统的htmlspecailchars函数2. 使用HTMLPurifier插件实现a) 解决问题的思路:这个插件可以分辨<script>代码,把这个代码块去除掉。其他的HTML代码不做转义处理即可
11、。HTMLPurifier插件使用学习地址:/php/HTML-Purifier-PHP-xss.html官网:/项目实操1. 放置文件(网站根目录)2. 在TP的common创建一个function.php文件(注意该文件没有S)3. 在项目配置文件中定义自己定义的过滤函数4. 效果伪删除-回收站1. 修改表结构,增加一个is_delete字段 类型 tinyint 默认为0 代表正常(可以正常的显示) 1 代表已经删除的(需要在回收站显示)2. 为商品列表页添加一个伪删除的A链接3. 在GoodsContr
12、oller里面增加一个伪删除的方法,更改表中is_delete字段为 1 即可完成实操1. 添加字段is_delete字段添加4. 修改商品在lst.html页面5. 在GoodsController里面增加一个del方法6. 增加一个RecoveryContorller来做回收站,增加一个lst方法来显示删除的数据lst.htm页面7. 在RecoveryContorller里面增加一个还原方法8. 在RecoveryContorller里面增加一个物理行删除方法作业1. 在商品增加的时候增加添加时间的功能,可以使用日历插件2. 完成一下商品的编辑操作,图片更新;回收站的物理行删除后图片的问
13、题a) 注意问题,如果在商品里面上传了图片之后,需要怎么处理?扩展1. 单一入口和MVC有关系吗?答:没有关系。完全是两个不同的概念。 不使用单一入口也能完成MVC。单一入口:主要是为了统一管理(验证全部放在单一入口里面完成,而不需要单独的在每个控制器里面完成)MVC:主要是分层处理(1. 业务C和数据M 2. 视图页分离处理V)1. goods_name字段适合建立索引吗?答:不建议使用索引,因为在做商品搜索的时候,一般都是模糊查询 like “%name”例如这样无法使用索引 但是 like “NAME%” 是可以使用索引的2. D函数和函数的区别?答:函数用来实例化自定义模型(可以调用自
14、己的方法)函数用来实例化系统模型(select find delete save)3. TP自动验证的时候,自带的验证规则有空格需要清除一定要清除。4. 注意 success方法调用之后一定要exit一下。5. 注意,在TP使用的时候不建议使用标签语法答:1. 标签语法可控性不强2. 从效率上来说,原生代码更快6. 使用I函数的时候,默认使用的过滤函数是 htmlspecailchars7. 在做商品修改的时候,一定要加一个隐藏域?如果别人恶意修改隐藏里面的东西,怎么处理?(篡改表单数据)解决方案:数字签名技术(数据怎么去,还得怎么回)了解:加密方式(凯撒密码)8. U函数讲解答:U函数有三个参数第一个参数是需要生产的URL地址的第二个参数是GET提交的参数第三个参数是否开启伪静态1. 当使用ueditor编辑之后的html代码无法正常的显示问题分析和解决方案:主要是由于TP框架中的I函数使用了过滤函数 htmlspecialchars 对表单提交的数据进行了过滤。将html标签转换成了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年茶艺师职业技能鉴定理论试卷(茶艺师职业培训师资培训报告)
- 2025年电梯安装改造维修作业特种作业操作证考试试卷(电梯安全)事故案例分析
- 低碳城市案例研究:2025年城市规划与城市更新策略
- 帕力亚多骆驼乳粉知识测试题
- 2025年基因治疗药物临床研发新趋势:市场前景与产业布局分析报告
- 2025年高性能铁氧体一次磁粉项目规划申请报告
- 汽车工程原理及技术案例分析题
- 2025年防雷工程项目立项申请报告
- 金融大数据在反欺诈中的机器学习应用报告2025
- 2025年社交媒体平台文化影响力报告:热点事件与舆论引导效应
- 正畸器械知识培训课件
- 2025年师德师风知识竞赛题库(含参考答案)
- 安装仓库灯具协议书
- 河道养护工作总结
- 2025年中质协注册质量经理认证考试题库大全(含答案)
- 电缆敷设施工方案及安全措施完整
- 南京科远KD200变频器使用手册
- 生产部门员工的技能进阶及相应激励机制设计
- WEF -2025全球灯塔网络:全球灯塔网络 推动思维转变 数字转型中的影响和规模 转变白皮书
- 《三国演义》探究课 课件
- 2025年山西华新燃气集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论