我的 2017 —— 一个 PHPer 的自白

2018-01-02
阅读 2 分钟
2.6k
这一年,我所经历的,让我收获很多,让我懂得很多,让我明白了很多。也许是明确了某一个目标,也许是其它的什么,我觉得,2017 年也许真的是我的一个开端。

从零开始写 PHP 扩展(一)

2017-11-16
阅读 2 分钟
6.7k
PHP 是用 C 语言写的。对于每个 PHPer 来说,都有着内心的一种希望写扩展的冲动了吧。然而,缺乏一个很好的切入点。Google 上搜 PHP 扩展开发,大部分都是复制品文章,甚至有些人连操作都没有操作过就搬运在了自己的博客。不过也有几篇好教程,但是都是 PHP 5 时代的产物,隐藏着非常多的坑。我会将我自己慢慢踩坑的过程...

浅入理解单例模式

2017-10-20
阅读 2 分钟
3.2k
在 PHP 中,甚至不只 PHP 中,我们都会用到全局变量,以保存全局状态。可是,往往全局变量是全局共享的,任何地方任何代码都有可能将其覆盖。例如,我们定义一个全局变量叫做 PHONE。我们在某一行代码中,将其定义成了 iPhone,但是我们不小心在另一行代码中将其覆写成了 Nokia。这就非常的尴尬了,因为本来我们并不想它...

浮点数那些事儿

2017-09-24
阅读 3 分钟
4.5k
以 PHP 为例:floor((0.1 + 0.7) * 10) 这样一个函数调用,根据数学老师死得晚原理,大家都能得出 8 这个结果。可是事实上呢?它会返回 7。数学老师的棺材板。。。(╯‵□′)╯︵┻━┻

Generator 的异常处理

2017-08-19
阅读 3 分钟
5k
本文是我在研究 PHP 异步编程时的总结。对于相当多的 PHPer 来说,可能都不知道 Generator,或者对 Generaotr 的流程不是很熟悉。因为 Generator 使得程序不再是顺序的。鉴于本人的水平有限,如果有不同意见,还望指点一二,不胜感激!

使用桩件 (Stub) 解决 Laravel 单元测试中的依赖

2017-08-11
阅读 3 分钟
7.8k
很早就知道有单元测试的概念,也曾尝试过,但是一直对单元测试的概念和方法,比较模糊。在听了 @vimac 大神的讲堂 PHP单元测试与测试驱动开发 后,慢慢地对单元测试和 PHPUnit 的认识清晰了起来,也开始慢慢地去实践单元测试。

php 内核探秘之 PHP_FUNCTION 宏

2017-08-07
阅读 2 分钟
8.9k
本人也只是个初入门的菜鸟,因对技术有着向往,故在“无趣”的工作之余,尽自己所能提升自己。由于我的 C 语言功底也有限,故本文的深度也有限,如有幸得大牛阅读,还望指导一二,小弟感激不尽。

每日一个 php 函数——array_change_key_case

2017-08-03
阅读 4 分钟
2.6k
因为已经有文档了,可能有些人觉得我写这个有些多余了。可是并不是每一个 PHPer 都会好好地去阅读文档,自然有一些函数可能都没有听说过(很不幸我也是这其中的一员)。我也希望能通过写这些文章,能够促使我完整地读完文档,同时,能够给其它的 PHPer 一个参考,“啊,原来还有这个函数” 的感觉。同时,我也希望我能通过...

浅入理解 PHP 中的 Generator

2017-06-19
阅读 2 分钟
7.7k
从 PHP 5.5 开始,PHP 加入了一个新的特性,那就是 Generator,中文译为生成器。生成器可以简单地用来实现对象的迭代,让我们先从官方的一个小例子说起。

一个 PHPer 第一次用 Koa2 写 Node.js 的心路历程

2017-06-11
阅读 4 分钟
10.3k
学了一段时间的 js 了,突然想实践一下。正好公司有个小的项目要做,就顺手拿 Koa2 来做了。真是不做不知道,做了想不到。踩了一堆新手坑。

为什么Swoole可以加速php

2017-05-20
阅读 3 分钟
10.5k
CGI,全称 Common Gateway Interface,中文称作“公共网关接口”。也许有很多人认为 CGI 是一个程序,没错,曾经的我也是这么认为的。直到我从《图解HTTP》开始细细地研究HTTP协议之后,我才知道,原来 CGI 是一种协议。任何编程语言,都可以实现 CGI,所以任何语言都可以作为网站的后台语言(扯远了)。