月度存档: 7月 2016

无限级分类(或菜单)的高性能实现思路

一般说到无限级分类、菜单之类的东西,大家 (我) 的数据表设计一般是这样的 id parent_id title 更多字段… 1 0 衣物 … 2 1 上衣 … 3 1 裤子 … 4 3 西裤 … 5 4 长西裤 … 6 4 短西裤 … 7 2 衬衫 … 其中,parent_id表示父分类的id。由此可知,衣物分类下有上衣和裤子两个二级分类;而裤子还有西裤这个三级分 …

继续阅读 »

常用的跨域方法:iFrame、jsonp、http头、服务器代理、nginx反向代理

什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行。 同源策略的目的,是防止黑客做一些做奸犯科的勾当。比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑客可以编写一个登 …

继续阅读 »

Web端常用的即时通讯技术:短轮询、Comet、Websocket、SSE

Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询、Comet技术、WebSocket技术、SSE(Server-sent Events)。本文将简要介绍这4种技术的原理,并指出各自的异同点、优缺点等。 全文请阅读: Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE:http://www.phpc …

继续阅读 »

PHP魔术常量与魔术方法

魔术常量 PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下: 几个 PHP 的“魔术常量” 名称 说明 __LINE__ 文件中的 …

继续阅读 »

PHP的cURL选项CURLOPT_SSL_VERIFYPEER详解

在开发微信支付的过程中,遇到了关于cURL加密传输的问题,做下记录方便今后查阅。 提交数据到https时,需要pem证书来加密。 我们使用浏览器访问https的时候,浏览器会自动加载网站的安全证书进行加密。但是你用curl请求https时,没有通过浏览器,就只有自己手动增加一个安全证书进行加密。 代码示例: 知识点摘要: CURLOPT_SSL_VERIFYPEER 设置为FALSE 禁止 cUR …

继续阅读 »

彻底理解WebServices SOAP WSDL及PHP中SOAP的用法实例

WebServices 简介:http://www.cnblogs.com/aijun/archive/2011/03/15/1984497.html 简单对象访问协议:http://baike.baidu.com/view/1695890.htm?fromtitle=SOAP&fromid=4684413&type=syn#viewPageContent PHP中soap的用法实例:http:/ …

继续阅读 »