实现微信账号与WordPress账号的绑定

wechat-account-link-to-wordpress

WordPress上已经有不少能实现微信订阅号/公众号连接WordPress的插件,如微信公众订阅号插件、连接微信、微信机器人等,可以实现两者的内容同步,也可以自定义关键词回复,推送相关文章。

不过这类插件还没有实现的一个功能就是微信的账号跟WordPress账号的绑定,若用WordPress二次开发一些带有会员功能的公众号,往往需要以微信的账号(openid)作为WordPress的账号,这样在获取微信授权后,就可以直接实现登陆,省去用户再注册账号的繁琐步骤。

继续阅读

解决Chrome/IE中图片底部多出几像素的问题

遇到了一个问题:网页中的img图片底部会比父层多出几像素,像是设置了padding-bottm/margin-bottom的效果(实际没有)。如下图所示,将父层背景设置为绿色,可以看到底部多出了几像素,Chrome/IE 8均是如此。

图片底部多出几像素图片底部多出几像素

代码如下,就是简单的DIV层中放了一张图片。

继续阅读

重温PHP手册 – 引用

引用

在 PHP 中引用意味着用不同的名字访问同一个变量内容。

引用做什么

如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。

function foo(&$var) { }

foo($a); // $a is "created" and assigned to null

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

继续阅读

重温PHP手册 – 生成器

生成器

(PHP 5 >= 5.5.0)生成器提供了一种更容易的方法来实现简单的对象迭代。

生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组,生成器可以根据需要 yield 多次,以便生成需要迭代的值。

一个简单的例子就是使用生成器来重新实现 range() 函数。 标准的 range() 函数需要为其中的每一个返回值在内存中生成一个数组, 结果就是生成一个很大的数组。 比如,调用 range(0, 1000000) 将导致内存占用超过 100 MB。

做为一种替代方法, 我们可以实现一个 xrange() 生成器, 只需要足够的内存来创建 Iterator 对象并在内部跟踪生成器的当前状态,这样只需要不到1K字节的内存。

继续阅读

重温PHP手册 – 异常

PHP 异常

在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。

  • 需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。
  • 每一个 try 至少要有一个与之对应的 catch。
  • 使用多个 catch 可以捕获不同的类所产生的异常。
  • 当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。
  • PHP 允许在 catch 代码块内再次抛出(throw)异常。

当一个异常被抛出时,其后(指抛出异常时所在的代码块后面)的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的 catch。如果一个异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一个严重的错误,并且输出 Uncaught Exception … (未捕获异常)的提示信息。

PHP 内部函数主要使用错误报告, 只有现代面向对象的扩展才使用异常。但错误可以很容易的通过ErrorException转换为异常。

继续阅读

重温PHP手册 – 命名空间

命名空间概述

PHP 在 5.3.0 以后开始支持的命名空间提供了一种将相关的类、函数和常量组合到一起的途径。解决了如下两类问题:

  1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
  2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名,提高源代码的可读性。

继续阅读

重温PHP手册 – 类与对象

基本概念

$this

$this 是一个到主叫对象的引用(如果是从第二个对象静态调用时也可能是另一个对象)。

$this 和 self 的区别:

  • $this 指向当前的 object, self 指向当前的 class。
  • 访问类中声明的静态(static)变量和静态函数,需使用 self(使用 $this 合法,但输出 null)

继续阅读

买彩票机选和守号哪个中奖概率高?

我有买彩票,不过就是瞎买买。早之前是随机买过一注,然后一直买这个号,不过断过一段时间没买,后来就一直是每期机选一注了。算起来也有一年多了,但目前最高奖金还是停留在5元…

于是乎就冒出了这么一个想法,机选跟守号(随意买的,没有刻意去研究彩票)哪个中奖的可能性高一些?

本着实践出真知的想法,顺便学习下拖了很久的Python网络爬虫,写了个小程序,抓取了历年大乐透/双色球的开奖数据,进行了简单的验证。

抓取彩票开奖数据

Python网络爬虫,结合pyQuery解析HTML内容,很容易就将历年开奖数据保存到本地csv文件中。

继续阅读

Python网络爬虫入门教程

本文主要介绍了如何使用Python实现基础的网络爬虫来抓取网页内容(使用 Python 2.7 的 urllib2 库)。

基本使用

使用 urllib2 模块可以轻松抓取页面的源代码。主要用到两个函数:

  • urllib2.Request(url[, data][, headers][, origin_req_host][, unverifiable])
  • urllib2.urlopen(url[, data][, timeout])

继续阅读