加载中
API访问频率限制的解决方案

有时候我们需要限制一个API访问的频率,例如单用户一分钟之内只能访问多少次。 类似于这样的需求很容易用Redis来实现。 <?php require('predis/src/Autoloader.php'); $redis = new Pred...

2015/11/24 15:43
4.7K
使用Redis实现抢购的一种思路

抢购是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少(“超卖”问题) 对于第一个问题,已经很容易想到用缓存来处...

2015/11/20 16:37
7K
PHP框架开发第一步——工厂模式

几乎所有的PHP框架都使用单入口文件方式,也就是说所有的请求都是从index.php进入。那就必须要用到工厂模式来实现请求的分发。 例如,我们在请求这样的URL : http://www.test.com/index.ph...

2015/10/26 13:18
253
关系型数据库如何处理“库存”问题

在商城中,有一件商品有100件库存,那么用户每购买一件,库存要做减一。 刚开始我想到这样进行处理: $model = new Model(); //读取商品的库存 $quantity = $model->where(" id = 1 ")->co...

2015/10/26 09:45
416
PHP实现Restful风格的API

Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www.test.com/user/view/id/1 表示获取id为1的用户信息,如果使用Restful风格,可以变成这样: http://www.test.com/...

2015/10/24 13:32
1K
对进程和线程一个形象的比喻

进程和线程是计算机领域的重要概念,还记得当年上操作系统课时,老师让我们每个人写一篇文章谈谈对两者的认识、 我觉得通过一个形象的比喻来解释两者的区别,可能效果会更好。 如果火车站开放...

2015/10/23 13:26
451
驼峰命名法和下划线风格的互转

偶然遇到这个问题,感觉有些意思,于是研究了一下。 下划线转驼峰比较简单,直接根据下划线打散成数组,每个子项首字符转大写,再做字符串拼接即可。 驼峰转下划线风格,稍微复杂一些。刚开始...

php
2015/10/16 15:14
3.8K
PHP单例模式的实现

单例模式的意义在于,很多时候不需要创建重复的实例。 用PHP实现单例模式的原理是,使用一个静态变量存储实例,当遇到重复的“new”操作时,直接返回静态变量中存储的实例。 典型的应用有数据...

2015/10/16 12:16
264
Socket到底是个什么东西

Socket在计算机专业术语上的翻译是“通信节点”。计算机网络中阐述,计算机之间的通信通常指的是应用程序之间的通信。而应用程序之间使用Socket来通信,可以简单的认为,Socket封装了TCP/I...

2015/10/14 14:35
141
PHP的四种运行方式

一、作为Web服务器模块运行,稳定性高,安全保障由Web服务器机制提供。例如:PHP可以作为Apache的模块来运行。 二、作为CGI来使用。简单的说,CGI是一个可执行程序,来处理服务器传递的php脚...

PHP
2015/09/24 10:44
143
PHP实现网易夺宝的算法

网易夺宝的规则是,用户使用一元购买一个随机夺宝号,当所有的夺宝号都售尽后,按照一定算法得到中奖号码。这里的核心算法在于,用户如何得到随机夺宝号,且能保证不冲突。 使用PHP可以这样实...

PHP
2015/09/21 13:41
1K
PHP中require()的妙用

require()一般用于引入文件,然而,它居然还可以有返回值: $r = require('config.php'); 当然,config.php需要像方法一样给出返回值: <?php return array(   'charset' => 'utf-8',   'ap...

php
2015/09/10 15:15
506
PHPTree——快速生成无限多级分类

在开发中经常需要用到树形数据,比如无限多级分类,就是典型的树形结构。这里面的算法,用到了递归思想,为了简化开发过程,我编写了一个工具来提升开发效率, 它就是PHPTree。 git地址:htt...

2015/08/12 13:18
12.5K
PHP和MySQL实现消息队列

最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发送不就可以了吗? 但很快发现问题:当短信数量很大时,不仅耗时,而且成功率很低。...

2015/07/17 15:05
3.1K
使用极验验证增强网站安全性

最近流行起来一种拖动滑块的验证码,非常有趣。 点这里查看演示:http://www.geetest.com/experience 幸运的是有人为我们做好了,可以免费使用,集成到我们的网站中。下面我来做个简单的介绍...

2015/06/06 12:48
2.2K
ThinkPHP命令行工具Tptool2.0使用教程

经常需要用ThinkPHP开发项目,总感觉手动创建控制器、模型、视图是一件繁琐的事情,需要不停地复制粘贴。还有当文件夹的层级很深时,来回找文件也是一件很耗时的事情。 我一直坚信:工具善其...

ThinkPHP3.2的公共函数

在项目开发中,虽然尽量使用面向对象的开发方式,但还是有很多时候不知道把一些方法放到那个类中,还是用函数来的方便。 ThinkPHP3.2在每个模块中都有一个文件夹Common,在这里创建名为funct...

2014/11/18 10:44
4.5K
使用PHP处理zip压缩文件之ZipArchive

PHP5.2以后,强化了对压缩文件的处理,不仅对zip算法,还包括rar算法、gzip算法等都有了相应的支持。 今天,我来和大家分享一下用PHP处理zip文件。我们用到的是ZipArchive类,如果你安装了P...

2014/11/16 17:52
3.2K
ThinkPHP命令行工具Tptool

该文档已过期,请移步到新文档:http://my.oschina.net/crazymus/blog/406725 <br/> <br/> <br/> 经常需要用ThinkPHP开发项目,总感觉手动创建控制器、模型、视图是一件繁琐的事情,需要不停...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部