看到一个很有意思的项目 https://github.com/php-defer/php-defer,这个项目只用了10行左右的代码就实现了Go语言中的defer,看来灵活运用数据结构还是很重要的。项目源码如下:
想必phper对date()函数不会陌生,date('Y-m-d H:i:s')是常见的用法。date扩展代码行数不少,而且一大块宏让人摸不着头脑。先根据自己的思路写一个吧,给PHP添加一个打印当前时间格式化形式的函数。函数原型位于ext/standard/basic_functions.stub.php,function pmydate(string $value): void {}函数接收一个格式化字符串,仅支持Y、m、d、H、i、s几种格式,没有返回值,直接输出结果。
众所周知,运行在PHP-FPM模式下的PHP代码并非常驻内存,而WebSocket实时通信又需要常驻内存,可以说PHP-FPM模式跟 WebSocket就走不到一块去。
喜欢上了通过字节码来分析代码差异的感觉,前几天机缘巧合之下玩了下PHP的opcode,今天来看看Python的bytecode。今天也是巧合,恰好群里有人问Python中3 > 2 == 2为什么结果是True?很多语言其实并没有这种表达式。如果用过JavaScript,就会发现它的结果跟Python不一样,正因为如此,我就对3 > 3 == 2在Python中的底层逻辑有点好奇,那就直接动手吧。
opcode跟PHP,类似于bytecode跟Java的关系,相当于机器码和编译型语言的关系。