知识扩展

1. 图片的上传大小受哪一些限制?

答:浏览器

其实php.ini文件里面

1. upload_max_filesize = 2M  限制单个文件上传大小

2. post_max_size = 8M 整个表单允许数据(4张)

3. 在上传类里面限制图片大小 $upload->maxSize

2. 扩展ajax如何做无刷新分页?

答:

1. 为每一个a链接绑定一个点击事件

2. 需要获取每个a链接的href

3. 写一个简单正则,然后获取页面 (\d+) ===11

4. 发送一个ajax调用,并传递这个页码参数

5. 在服务器脚本接受这个ajax调用,获取页码参数,在model里面根据页面获取数据(limit)

6. 数据处理成json格式,然后在返回给前台(浏览器)

7. 对数据遍历,然后拼接成字符串_html

8. 获取需要填充地方$(“contianer”).html(_html) html默认直接覆盖

9. 实现

 

3. 事件委托(代理)?(js必问)冒泡

答:把事件交给别人做,上层元素(冒泡特性)

在实际的事件绑定过程之中,如果绑定的元素过多,那么需要更多的开销来绑定事件。如果,只绑定一个事件,利用事件冒泡获取对应的元素(event事件源),拿下面的例子说,那就只需要给div绑定一个事件就可以了,event代表当前被操作的DOM对象 event.target 获取当前点击的对象 做出判断 href 

3. 什么是js里面的闭包?

答:函数内部返回函数(包含当前定义时候的一些变量信息,可以变量信息一直保持)做一个计数器。

 

function counter(){

var num=0;

return function(){

num++;

}

}

 

var jishuqi = counter();

jishuqi();

 

4. 原型链和作用域链?

答:原型存在的意义就是为了继承

原型链:在构造函数有一个prototype属性,这个属性指向一个实际存在的对象(json new Dog)

 

new 构造函数 实例化的对象 __proto__ 指向 ===  new Dog 方法或者属性

 

作用域链:在js中内层作用域是可以调用外层作用域里面的变量,但是外层是不能调用内层变量信息。

函数是不是变量?

函数是不是对象?

var f1 = function(){};

 

var test1 = new Test();

 

5. TP中的U函数?

答:是利用程序自动的生成URL地址

第一个参数,就是生成的URL地址,第二个参数就是GET参数index.php?id=12

第三个参数就是是否生成伪静态 默认是true

 

6. 一般来说,实际业务是怎么样做的?

答:在实际开发中,一般不做物理行删除,只做伪删除,在商品表中增加一个is_delete字段来处理,然后在做一个回收站,在回收站可以还原数据,也可以彻底删除(伪删除)还是假删除。

现在我们的业务,真实删除?

思考:如果在删除之前,还有图片信息该如何考虑?

数据删了?图片还能删除?

1. 先把图片的地址记录(先根据ID找到图片地址),然后在删除

2. 钩子函数,在实际删除之前,可以使用删除前置钩子,在这个钩子函数里面来根据ID获取图片地址,然后在删除

 

8. 可以做伪删除?

 

注意: 在做编辑操作的时候,需要使用前置钩子完成图片的更新(原图片的删除,新图片的增加)?

_before_update($data,$options)

 

1. 先根据ID获取原图片地址,然后使用 unlink 删除

2. $data[‘img’] = $img

 

posted @ 2015-12-17 22:15  黑夜中晚霞  阅读(210)  评论(0编辑  收藏  举报