31
2014
08

#学习笔记#php多线程

首先要说的是,php本身是不支持多线程的。

但是很多时候,单线程并不能满足所需的效率。比如说很多采集程序,如果只靠单线程来处理,效率可想而知。

所以就有了我们接下来要讲的东西,严格意义上来说,应该叫php的伪多线程。

php实现伪多线程的方法也有挺多的,这里我们说的是一个php扩展--pcntl。

  1. pcntl安装说明

18
2014
05

Codeigniter钩子

CodeIgniter中文版用户手册上是这么介绍钩子的。

“CodeIgniter 的钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。 当 CodeIgniter 运行后,它会产生出一个特殊的进程,这个进程在 项目流程 页面中有说明。 当然,您可以自定义一些动作来替代程序运行过程中的某些阶段。例如,您可以在控制器刚刚载入前或刚刚载入后来运行特定的脚本,或者在其他时刻来触发您的脚本。”

我觉得这段话完成不能表达钩子的强大呀。除了系统预埋的钩子,你还可以自己埋钩子,想埋哪埋哪。

02
2014
02

CodeIgniter中get_post 方法需要注意的地方

今天一個正在進行中的案子,接到開發伙伴來的訊息,說他用POST來的資料,進去資料庫都是空白。看到這個訊息,我的心頭小鹿禁不住一陣亂撞,這下不得了,趕快測試看看:Model寫入資料庫沒問題,Controller丟資料給Model沒問題,難道是接收POST資料有問題?

於是趕緊打開心愛的Notepadd++看看程式,由於我是負責寫API接收Client丟資料來處理,然後回傳處理結果,而且Client端有可能用GET也可能用POST丟來,資料欄位多少不一定(這是我們訂好的規格),所以接收資料我是這樣寫的:

24
2014
01

PHP中判断变量为空的几种方法

判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误,
所以自己整理了一下PHP中一些常用的、判断变量为空的方法。
1. isset功能:判断变量是否被初始化
说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过
注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右

06
2013
07

#学习笔记#简单的IP定位实现

IP定位并不是什么新技术,甚至可以说已经被用滥了,各大网站都有提供相关的api,这里选用百度LBS云的api来实现。如下官方文档中给的步骤,三部轻松搞定:

第一步,申请密钥(ak) ,作为访问服务的依据;

第二步,拼写发送http请求的url,注意需使用第一步申请的ak;

第三步,接收http请求返回的数据(json格式)。

官方提供了一个例子

XML/HTML代码
...
04
2013
07

#学习笔记#jquery实现select级联效果

网站用户信息设置或者注册页,经常会需要用到级联,这几乎是所有网站类应用的标配。

首先是数据库的设计,三级,那么建三个表,分别为province,city,area分别记录省,市,县(区)信息,其中通过一个fatherid来关联,县(区)的fatherid是市,市的fatherid是省。给一个相对还算挺全的省市县(区)三个表的数据。

...
04
2013
06

#学习笔记#php字符递增问题

 PHP代码

  1. <?php  
  2. for ($i = 'a'$i <= 'z'$i++)  
  3. ...
24
2013
03

随便弄了个天气预报

 天气预报现在很多网站都提供了丰富的api,像有道和中国天气网提供的都是json格式的输出值。非常好用,不过这里我并没有用这两个网站的api,而是用的webxml.com.cn的,而且是get方式来请求和响应。于是乎他得出的的值就会比较奇皅。是这样的格式

XML/HTML代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. ...
07
2013
01

一个简单的MySql连接操作类

 web开发无非就是对数据库的增,删,改,查。经常复制粘贴代码非常麻面,复制多了也浮澡了,就想有没有方法少复制点东西,于是就捣鼓了这个类,包括创建数据库连接和简单的一些数据库操作。代码如下,【说明:本文结尾处附有下载链接】

PHP代码
  1. <?php  
  2. ...
03
2013
01

#学习笔记#javascript解析json数据时为什么加上圆括号

在开发中,经常用用到一个json_encode函数,把数组转化为json格式化代码,如这段简化代码

PHP代码
  1. case 'login':  
  2. ...