记一次难忘的手术经历

俗话说的好,十人九痔。这九个人里就有我一个。 😂 去年因为痔疮去过一趟医院,医生当时建议手术。 后来用了点药,没啥症状了,就不放在心上了。 结果前两...

2019-10-28 · 2 min · 646 words · Liudon

十一假期经历

今年的十一火车票非常难抢,12306的候补订单,一直等到时间截止也没订上票。 只好请了2天假,提前回家了,给自己也放个假休息一下。 回家的几个经...

2019-10-08 · 1 min · 306 words · Liudon

Swoft 框架运行分析(五) —— ConsoleProcessor模块分析

这里以Swoft启动http server为例。 php bin/swoft http:start 执行上述命令,启动http server。 在前面第一篇文章的时候,提到了如何启动http服...

2019-09-26 · 10 min · 4524 words · Liudon

Swoft 框架运行分析(四) —— EventProcessor模块分析

今天我们来看一下EventProcessor的实现。 /** * Handle event register * @return bool */ public function handle(): bool { if (!$this->application->beforeEvent()) { CLog::warning('Stop event processor by beforeEvent return false'); return false; } /** @var EventManager $eventManager */ $eventManager = bean('eventManager'); [$count1, $count2] = ListenerRegister::register($eventManager); CLog::info('Event manager initialized(%d listener, %d...

2019-09-26 · 4 min · 1896 words · Liudon

一个git submodule update引发的问题

背景 1月份的时候,用hugo搭了这套博客系统。 本机写md文件,更新到github,然后通过travis-ci自动发布。 jane主题是通过gi...

2019-09-06 · 4 min · 1748 words · Liudon

一个Curl的耗时长的问题

发现某个接口请求很慢,但是后端确认接口是很快的。 在机器上通过shell执行curl命令,确实很快,但是PHP代码里请求又确实很慢。 业务里用到...

2019-09-04 · 2 min · 925 words · Liudon

Swoft 框架运行分析(三) —— BeanProcessor模块分析

今天讲一下BeanProcessor模块,先看一下handle方法实现。 /** * Handle bean * * @return bool * @throws ReflectionException * @throws AnnotationException */ public function handle(): bool { if (!$this->application->beforeBean()) { return false; } $handler = new BeanHandler(); $definitions = $this->getDefinitions(); $parsers...

2019-09-02 · 9 min · 4044 words · Liudon

Swoft 框架运行分析(二) —— AnnotationProcessor模块分析

上一篇介绍了,SwoftApplication里定义了6个Processor对象。 protected function processors(): array { return [ new EnvProcessor($this), new ConfigProcessor($this), new AnnotationProcessor($this), new BeanProcessor($this), new EventProcessor($this), new ConsoleProcessor($this), ]; } 所有的Proce...

2019-08-29 · 4 min · 1656 words · Liudon

Swoft 框架运行分析(一)

Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。 以前一直都是用的原生swoole框架,最近有时间研究了下衍生的Swoft框架。 刚开始看的时候,感觉...

2019-08-29 · 2 min · 966 words · Liudon

BCMath 与 科学计数

代码如下 <?php echo 9.99997600 + 2.4E-5; echo "\n===\n"; echo bcadd(9.99997600, 2.4E-5, 8); 结果为 10 === 9.99997600 问了朋友,查了各种资料,终于在PHP手册里发现了这段话。 Caution Passing values of type float to a BCMath function which expects a string as operand may not have the desired...

2019-08-16 · 1 min · 168 words · Liudon