William A

最新文章

PHP 的 opcode

opcode跟PHP,类似于bytecode跟Java的关系,相当于机器码和编译型语言的关系。 PHP是一门解释型语言,它的执行单元就是opcode,Zend Engine就是执行opcode的地方,Zend Engine也就是常说的VM。JVM比较出名,它就是针对Java设计的VM,这样说应该理解了PHP的Zend Engine和opcode是什么东西了吧。 看看如下代码: <?php …

PHP 通过 FFI 与 C 交互

一门语言写的代码跟另一门语言交互一直是我很感兴趣的事情,既想用着让自己舒服的语言,又想使用其它语言在特定领域中强大的生态。当然通过网络接口来交互是最简单的方式,但需要写很多额外的代码。FFI(Foreign Function Interface)是用于与其它语言交互的接口,可以将其它语言的接口内嵌到本语言中,用起来就方便得多。 FFI是PHP核心代码的一部分,所以不需要担心后期没有人维护,放心大胆 …

PhpStorm 中使用 Docker 镜像的 PHP CLI Interpreter

自学 PHP 以来,除了初学时期,一直都不太喜欢用集成环境如 MAMP、WAMP 之类的,这些工具虽然用起来很方便,但不符合我折腾的个性,而且灵活性有所欠缺,还可能会降低自己的好奇心;当然重要的是服务器一般也不会使用集成环境。这不,PHP 又出新版本了,想尝尝鲜,集成工具没有更新,不就得自己折腾么。 Docker 自定义 PHP 镜像的步骤就不细说了,我已经准备好了,这里用的是 …

POP3 简介

SMTP 协议是push协议,因此不能用于收邮件。POP3 协议是 Post Office Protocol。 $ telnet pop.qq.com 110 Trying 59.37.97.57... Connected to pop.qq.com. Escape character is '^]'. +OK QQMail POP3 Server v1.0 Service …

POSIX 终端屏保

最近在读一本书《PHP Beyond the Web》,内容难度不大,不过感觉挺有意思的。可能是做惯了web应用,或者说潜意识觉得PHP就是做web应用的,没想到在其它领域上,PHP也用得挺顺手,也许这也是一种偏见吧。看了这本书,对PHP有一些许改观,也算是扩展了视野。 在这里面看到一个挺好玩的小脚本,不过直接运行起来好像是有点小问题,于是在它的基础上改动了一下。 首先定义三个常量,\033在以前 …