2013年11月8日php+ajax实现长轮询(Comet)

所谓ajax长轮询,简单说就是客户端发起ajax请求,服务端会挂起该请求(通过循环),直到条件触发使服务器返回,在服务器返回前客户端一直处于pending,等待服务器返回。

ajax长轮询可以减少客户端的无用请求,不过服务端的压力会大一些。另外可以采用websocket实现推送,不过兼容性会差些,有些浏览器不支持websocket。

下面的代码可实现Comet:

服务端代码:

[CODE=php]
//server.php 服务端
set_time_limit(0);
$filename = './data.txt';
...

分类:技术心得  标签:PHP  Ajax  Comet    网友评论1条  已浏览loading

2013年11月5日JavaScript中的作用域链

看下面这段代码:



<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>js</title>

</head>

...

分类:技术心得  标签:javascript  作用域链    网友评论0条  已浏览loading

2013年11月1日[转]深入理解PHP中的数组-Array

很好的一篇讲解PHP数组的博文,详细讲解了php中数组与其他语言的差别,内核如何实现数组,数组的遍历,另外还分析了网上广为谬传的foreach比for性能好的说法。


我自己也测试了下foreach和for的性能,在php 5.3 和5.4版本下,不管遍历时是否改写数组,还是foreach时用引用方式,结果都未显示foreach优于for,我自己测试的结果是for比foreach还稍微快那么点儿:)如果foreach不采用引用方式,那for比foreach就快许多~


...

分类:知识积累  标签:PHP  array  数组    网友评论0条  已浏览loading

2013年10月31日CodeIgniter框架自带Session失效的问题

CodeIgniter框架内建了Session类,利用cookie并结合可选的数据库保存来实现Session的功能,具体可参考官方文档:Session类


最近在使用过程中,发现Session会莫名其妙的丢失,于是花了点时间看了下CI的源码,找到了问题所在,不知算不算CI的一个bug?:)


我的配置是使用数据库保存session信息:

...

分类:技术心得  标签:CodeIgniter  Session  失效    网友评论2条  已浏览loading

2013年10月25日windows搭建git服务器+git同步更新网站

下面两篇文章详细介绍了如何在windows操作系统上搭建git服务器,以及利用git中 post-receive Hook来实现在git push操作时同步更新网站,供参考:


1.windows操作系统上搭建git服务器


http://www.nubaria.com/en/blog/?p=633


2.git管理网站


http://toroid.org/ams/git-website-howto

...

分类:知识积累  标签:Windows  git  服务器    网友评论0条  已浏览loading

2013年9月1日[原创]支付宝批量支付大师多人支付高级版 v1.1 2013.09.06发布

​简介


支付宝批量支付大师多人支付高级版是为了满足支付需求量特别大的用户而开发的高级版版本,对于支付需求量相对较小的用户使用普通版即可。软件具有以下特色:


1、数据一键导入,支持Excel(xls、xlsx)和文本(txt)多种格式。


...

分类:原创软件  标签:支付宝  批量支付  软件    网友评论3条  已浏览loading

2013年8月27日Web API 设计最佳实践

最近自己需要做Web API 服务,看了下这份文档,结合自己理解简单做了下总结,供参考:


英文原文下载:api-design-ebook-2012-03.pdf


  1. 目标要明确。

    用Web API我们是要达到一个什么目的?API的主要职责在于为开发者提供服务,提高开发效率,设计过程中始终应该思考如何能为开发者带来更多益处。因此,在设计API时应多以开发者的视角来思考问题。这个基本思想可以称之为“pragamatic REST”。
  2. ...

分类:技术心得  标签:restful  web  API    网友评论0条  已浏览loading

2013年8月17日php中类外部访问类私有属性的方法

我们都知道,类的私有属性在类外部是不可访问的,包括子类中也是不可访问的。比如如下代码:
class Example1{
private $_prop = 'test';
}

$r = function(Example1 $e){
return $e->_prop;
};

$a = new Example1();
var_dump($r($a));

//运行结果:Fatal error: Cannot access private property Example1::$_prop
...

分类:知识积累  标签:PHP  私有属性    网友评论0条  已浏览loading

2013年8月2日在一个类中保存多个类的实例对象

如何在一个类中保持多个其它类的实例对象,而且保证不重复初始化?

看了下Slim这个小框架,它是这么做的:

$app = new \Slim\Slim();
程序初始化时,会构造一个全局的Slim对象实例,在Slim类构造函数中首先获取Set对象实例,接着实例化相关类并保存在Slim类的Container属性中。
[CODE=php]// Setup IoC container
...

分类:技术心得  标签:PHP  匿名函数    网友评论0条  已浏览loading

2013年6月24日Git小技巧

一些平时遇到的小问题,记录在此,方便查阅。


1、如何合并其他分支上的部分文件或目录?


比如你有两个分支develop、feature,当前处于develop分支,现在你想合并feature分支上的/path/somefile.php文件,而不想合并整个feature分支,该如何实现呢?


可以用下面的命令:


git checkout feature /path/somefile.php


此时,用git status命令发现develop分支上的/path/somefile.php文件已变为feature分支上的/path/somefile.php文件,接下来git add、git commit即可。


...

分类:知识积累  标签:git  技巧    网友评论0条  已浏览loading

2013年6月4日PHP中RSA加密与解密及签名与验证

最简单的方法一般都是用open_ssl扩展来实现,但有些情况下只能用原生的RSA算法来实现,比如公钥文件只提供了m和e的值。不知道有没有方法可以由m和e值生成相应的cer证书文件?搜了一番无果。。。
需要用到的额外库:
BigInteger.php,这里有下载-http://pear.php.net/package/Math_BigInteger。也可以直接用pear安装:pear install Math_BigInteger
...

分类:技术心得  标签:PHP  RSA    网友评论0条  已浏览loading

2013年5月27日测试驱动开发(TDD)For PHP

地址:http://net.tutsplus.com/sessions/test-driven-php/


此系列文章介绍了测试驱动开发的一些基本概念、自动化测试以及如何在PHP中去进行实践。详细介绍了PHPUnit的用法,以及结合Selenium进行user acceptances tests。另外还介绍了Mockery,并与PHPUnit’s mocking framework进行了横向比较。

...

分类:知识积累  标签:TDD  PHP    网友评论0条  已浏览loading

2013年5月16日[原创]基于MT4交易平台的会员管理系统

基于MT4平台的会员管理系统


  • 系统简介


本系统依托MT4交易平台,采用PHP+MySql开发,实现与MT4系统的无缝集成,配合三方在线支付可实时在线出金,在线入金、内部转账及在线开户,MT4账户金额实时结算和邮件即时通知,省去人工处理的繁杂与易出错的弊端。后台系统对出金、入金、开户及转账等有详细报表记录,方便管理员查看与分析。


会员中心概览:


...

分类:原创软件  标签:MT4  会员管理  在线入金  在线出金    网友评论7条  已浏览loading

2013年5月5日一次mysql复制故障排除

环境是两台主机互为主从,一台服务器down了,结果在另外一台服务器上slave无法正常运行。错误信息为:

Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', Error_code: 1236

查看slave错误日志xxx.err文件:

...

分类:技术心得  标签:Mysql  replication  master  slave    网友评论0条  已浏览loading

2013年4月10日关于EEG平台的自动注册

新的EEG平台用的sliverlight开发的,用了.NET Reactor对代码进行保护,可以用Silverlight Spy把核心文件找到(直接在浏览器临时文件夹里也是能找到的,网上有教程,可以搜索下),然后反混淆,.NET Reflector载入,这时我们基本就可以看到比较完整的代码了~

要做客户直接注册,关注登陆和添加会员这两部分关键代码就可以了,因为源程序用.net开发的,那么web端自助注册当然是用asp.net写更方便(恶补了几天asp.net ^_),只需要模拟登陆和添加会员的发包即可实现后台的会员添加。

...

分类:技术心得  标签:EEG  注册    网友评论0条  已浏览loading