一个脚本学会 Promise

感觉之前 对 Promise 理解错误(见之前 2016年的文章:http://www.miaoqiyuan.cn/p/promise),今天周末,抽时间看了 Promise 的文档,确实时理解差太多了。

粗略的看了一个文档,简单的了解了 Promise使用。对于 react-native 中的 API 项目,非常适用( 其实fetch就是一个 Promise实例)。

用 Promise 定义好接口,调用时 最好能统一处理错误,规范为 设计好的数据格式。 文档中 没有 catch 后,能否返回 then的方法。测试结果不能,因为 调用 catch 后,已经时resolved了。如果 catch 继续返回一个 新的 Promise,按 定义的 数据格式,返回一个错误的json, 无视错误,继续操作就完美了。尝试写了一个脚本,实现了我的想法。脚本如下: 继续阅读

phpsh – phpcli开发的终极方案

最近用php代替vbs脚本,做些小工具的开发。为了方便测试不同php版本的兼容,专门写了一个 php版本切换的 批处理 phpsh.cmd,支持安装到系统、卸载等功能,还支持多个php版本的任意切换(需要先安装phpStudy)。

如果需要安装到系统,必须以管理员身份运行 命令提示符,基本的使用方法如下:

安装成功后,就不用使用管理员身份执行了。可以在任意目录 执行 phpsh,会自动设置php环境。

继续阅读

PHP解析纯真IP数据库(qqwry.dat)

这是一个 StructPHP 的教程帖,使用它 解析 qqwry.dat。关于 qqwry.dat 数据结构的分析,请参考:http://www.jb51.net/article/17197_2.htm。,

StructPHP,仅有 20 多行代码,自我感觉不仅仅仅是对 unpack 和 pack 进行了封装,它是一种全新的编码方案。通过这种方法,可以简化 二进制转换的开发过程,使用代码更加易懂。

测试前需要先引入 StructPHP (http://www.miaoqiyuan.cn/p/php-struct) 类,全部的代码如下: 继续阅读

PHP实现 struct结构体

还是那个朋友,在用 Workman 开发 TCP协议 的项目。TCP客户端发过来的流,整数啥的好解析,遇到解析小数蒙圈了。百度一下,竟然没找出来方法,最终使用unpack解决。

直接写,真头疼,很容易出错,模仿C语言的struct自己造了一个车子,这应该是最优雅的解决方案了(自我陶醉…)。

封装成了类,代码如下:
继续阅读

PHP二进制操作初体验

一个朋友 最近在做一个 硬件相关的项目。搞Web的,最擅长的也是最熟悉的 PHP来开发,使用了 workerman 框架。搞WEB的平常很少和 二进制打交道,他看到 文档 开头就蒙圈了。向他的大神(也就是我)来求救了。下面是 部分文档的截图,第一次看时 简直 头大阿。

我也很少 和 二进制打交道,作为”大神”的我,怎么能在”迷弟”面前表现出不会呢,只能硬着头皮上了,折腾了一晚上,终于造出来一个小轮子。代码已经测试没有问题了,另外 为了 让 这朋友 更加崇拜我,完成后,特意美化了一下代码。。。

继续阅读