标签: PHP

6 篇文章

细说PHP中的Throwable
Error和Exception PHP中的异常错误可以分为两大类:Exception(用户级异常)和Error(内部错误),用户级异常可以捕获代码逻辑上的异常,而代码错误、内存溢出这些异常则属于内部错误,在PHP5及以前,内部错误是无法被捕获的,程序会直接中断运行。PHP这个奇怪的设计给日常开发调试带来了极大的不便,我们平时只能靠自己的细心和经验来…
记一次生产线Yii2无法捕获异常信息的问题
最近公司线上项目经常报出服务器内部错误,也就是Yii2框架的An internal server error occurred,经排查日志发现是某处业务逻辑抛出了一个Exception拦截消息,但是消息没有捕获到,无法返回给前端,并且开发环境复现不出来。 最后在Yii2框架源码中找到了问题原因,文件vendor/yiisoft/yii2/base/…
细说PHP后期静态绑定
概念 后期静态绑定这个概念平时听的很少,但是在项目中使用却相当广泛,理解了它,日常面向对象开发时将会非常顺手,关于PHP后期静态绑定,官方文档有相关的解释: 准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进…
一次诡异的PHP浮点运算精度丢失以及打印问题
项目开发时发现几个小数组成的数组进行求和的结果不对,第一反应就觉得是精度问题,于是做了实验: $array = [0.4, 0.4, 0.2, 0.4, 0.4, 0.2]; $arraySum = array_sum($array); var_dump($arraySum); var_dump(intval($arraySum)); var_ex…
PHP设计模式之——依赖注入
依赖注入(dependency injection)是实现控制反转的一种技术,顾名思义,就是将依赖(被调用者)注入给依赖对象(调用者)。 用户类User有一个注册方法,我们需要实现一个功能,在注册成功后,给用户发送一封邮件通知。我们先写一个发送邮件的类: class EmailClass { public function sendEmail($u…