标签归档php

php

难道是我火星了?记一次查看 PHP 异常栈遇到的坑

Chris Yue No Comments

今天收到几个线上项目的异常信息警报。大家都知道 PHP 的异常信息,会把相关的函数/方法调用全部都列出来,如果函数参数不是对象,还会将参数的值也显示出来。

PHP 7.4 新功能一览之预加载

Chris Yue No Comments

在 PHP 5 年代,为了加快 PHP 的执行效率,生产机都会安装 APC 或者 Zend OpCache 之类的扩展,它们的用途都是将某个 PHP 脚本第一次运行之后的 opcode(编译之后的中间代码)缓存在内存,这个脚本在第二次运行的时候就可以跳过编译过程。

PHP 7.4 新功能一览之其他简单改进

Chris Yue No Comments

接下来要说的这些,都是一两句话就能说清楚的,所以就在一块儿说了

PHP 7.4 新功能一览之参数和返回类型改进

Chris Yue No Comments

在对 PHP 7.2 的新功能介绍的一篇文章中,提到了当时 7.2 版本对参数和返回类型的改进,并且还引出了 LSP,即 Liskov 替换原则的话题(没看过的小伙伴建议先看看那篇)。不过当时的改进依然有一个小遗憾,即某个方法的参数(或返回)类型在子类复写时,只能将参数设置为可为 null(或限制返回不可为 null),无法做其他的类型覆盖。到了 7.4 版本,当时的小遗憾终于得到解决了

PHP 7.4 新功能一览之类属性类型

Chris Yue No Comments

在 PHP 7.4 里,类属性也可以添加类型了:

PHP 7.4 新功能一览之短闭包

Chris Yue No Comments

不出意外,我们将在今年(2019)11月份等到 PHP 新版的发布,对于 PHP 的又一个新版本我们有将有什么期待呢?

本来我是想一篇文章全部介绍完的,但发现很多新功能其实也有很多细节可以说,对于我这个平时还要上班的人来说,全部写完再发布难度有点大,还是分开成几篇说吧。

企鹅不是鸟——类继承的误解

Chris Yue No Comments

这个标题估计有点常识的看了都想打人,但对于学过面向对象编程的应该都知道是什么意思。这个问题所反映的是面向对象 5 大原则之一的 Liskov 替换原则(LSP),估计大家对 LSP 都能说上一两句。除了『企鹅不是鸟』,熟悉的还有『正方形不是矩形』、『圆不是椭圆』(数学老师哭晕在厕所……)。说归说,实际做不做得到还真不一定,起码我还是有自知之明的,很长一段时间都并没有在意。

当 PECL 无法正常连接扩展包服务器时应该如何安装 PHP 扩展?

Chris Yue No Comments

2018-05-24 补充:原标题为『现在还能用 PECL 安装 PHP Redis 扩展吗?』,但也就隔了一天,pecl/redis 又出现在了 pecl list-all 列表里,所以后来将标题改了,但依然保留原文,算拿 phpredis 做例子吧。

2018-05-26 再补充:话说 PECL 是在逗我们呢,又是只隔了一天,证书又有问题,所有跟 ssh://pecl.php.net 的链接都失败(通过给 PECL 命令添加 -vvv 参数可获取详细线索)

以前习惯了 apt 或者 Homebrew 直接使用包管理工具安装 PHP Redis 扩展,不过后来 Homebrew 有了重大更新,所有的 PHP 公式都默认不提供了。不过这么做也不是没道理,既然你 PHP 已经有了安装扩展的工具 PECL,干嘛我 Homebrew 还要多此一举再给你提供扩展的公式呢?

Symfony 4.1 VarDumper —— var_dump 调试流 PHPer 的福音

Chris Yue 4 comments

虽然说有了 XDebug 加 IDE 可以让 PHP 的调试也可以像其他语言一样,但直接在代码里面 var_dump 的做法还是深入人心,毕竟不用花时间做任何配置就可以使用,而且立马见效。

但自带的 var_dump 的『颜值』的确是有点太寒酸…… 虽然 XDebug 对原生 var_dump 输出样式做了一些小优化,但依然就是 0 分和 10 分的区别而已。

又被直觉骗了——记一次静态变量在对象方法里的作用域测试

Chris Yue 2 comments

我感觉现代的代码似乎用 static variable 越来越少了,无论是 PHP 别的语言,但我觉得,如果你清楚了 static variable 的萌点,还是挺好用的。

2019年十月
« 9月  
 123456
78910111213
14151617181920
21222324252627
28293031