标签归档php

php

细说 PHP 7.2 子类覆盖方法省略参数类型功能以及 Liskov 替换原则

Chris Yue No Comments

PHP 7.2 出来也有段时间了,关于新版本有什么新改进,只要你关心 PHP 的发展,应该都看过。这里只细说一个可能会有误解的新功能。

PHP strrpos 第三个参数为负数时到底是什么意思

Chris Yue No Comments

之前一篇『PHP 是否由某字符串开头』的文章里有提到 strrpos 这个函数,并且此函数性能相当不错。但这里我想对 strrpos 字符串做一些更多的说明,因为我感觉官方文档的描述不太清楚,可能会误导新手。

优雅得使用 Vim + Ctags

Chris Yue 2 comments

这年头估计像我这种用 Vim 的老用户已经不多了,不过就我这个老头子来说,新时代依然没有一款我用的比 Vim 更顺手的编辑器。

而 Vim 最烦人,也是最好玩儿得地方,就是几乎什么功能都得自己折腾。Vim 的代码跳转功能我已经折腾了好几年了,羡慕那些默认就自带超好用的代码定义跳转自动补全功能的 IDE。可惜,一入 Vim 门深似海,我也不想换,不过就生成代码定义(专业术语叫 tags),我觉得应该是折腾到头了,是时候总结我的心路历程了。

让 Ctags 支持 PHP Traits

Chris Yue No Comments

Ctags 目前应该是有三个版本,普通版本,Exuberant 版本,以及 Universal 版本。

目前普通版本应该用得都比较少了,没人维护,不过 Mac 默认自带的就是这个版本。

PHP 从固定格式字符串里解析数据最快的方式

Chris Yue No Comments

为了提升 PHP M3u8 的解析速度,我在上一篇博客里评选出了 PHP 世界里判断是否由某字符串开头最快的冠军,这一次又要举行另外一个比赛了:从某个固定格式的字符串里解析出想要的数据最快的函数。

用 YOURLS 创建自己的短链接服务

Chris Yue No Comments

最近据产品和运营反映,他们一直使用的域名缩短服务商 t.cn 已经不能正常工作了,让我帮忙处理。使用第三方的服务,特别是免费的服务本来就有风险,干脆就自己做一个吧,也没那么复杂。

PHP M3U8 2.0 发布,以及我为什么要做这些修改

Chris Yue 4 comments

2018-10-29:PHP M3U8 3.0 已经发布,更严格遵守 Solid 原则,代码量减少但更易用易扩展,支持 RFC 8216 所有标签。

在 2015 年因公司要涉及视频相关业务,我开始和 m3u8 格式接下了『梁子』,到 2016 年 2 月底,我开源了能读写 m3u8 文件格式的核心代码,也就是现在的 PHP M3U8,本来只是抱着把自己的知识保存一份在网上这个想法才做开源这件事情,没想到还真的有人使用这个库,并且后来陆续对更多的 m3u8 格式的标签做了支持。目前我在公司已经不负责视频相关的业务,但这个项目就像有生命一样并没有停止成长,从 1.0.0 到 1.6.0,这让我感到欣慰,也让我觉得有责任把此项目做得更好。

PHP 里实现『是否由某字符串开头』最快的方式

Chris Yue No Comments

最近在做开源项目 php-m3u8 的时候,为了提高解析 m3u8 文件内容的速度,需要实现『字符串是否是另外某个字符串的开头』的需求。不过在 PHP 里实现这个需求可以实现的方法实在是太多了,所以我这里做了一个测试,列出各种实现方式的速度数据,以供参考。

在 Swoole 上运行 Symfony

Chris Yue No Comments

Swoole 的官方网站定义其为『PHP的异步、并行、高性能网络通信引擎』,而对于类似 Symfony 以及 laravel 等每次请求都需要初始化大量代码的巨型框架来说,swoole 可以让初始化框架代码的过程限定在启动服务器时,而非每次请求都初始化,从而极大提升框架的运行效能。关于 swoole 以及类似的 ReactPHP 库让框架运行效率提升多少倍的话题,网上已经有太多,这里不多说。本篇只说目前网上讨论还比较少的话题:如何将 Symfony 跑在 Swoole 上。

基于 Symfony 4 的开发示例

Chris Yue 2 comments

上一篇文章我们介绍了 Symfony 4 带来的一些变化,我们尝试用一个 demo 示例说明一下。

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