标签归档php

php

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

Chris Yue 2 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 示例说明一下。

又不一样的 Symfony —— SF4 展望

Chris Yue 2 comments

作为一个 Symfony 框架的老用户,symfony(注意那个年代 s 还是小写的) 诞生于 PHP <5.2 时代,跟 PHP 5.3 时代的 Symfony2 相比简直天壤之别。而最近 Symfony3 的发布让我发现,似乎改动也不是很大,心想该不是 Symfony 也学 Chrome 那样加版本号了吧?这几天 Symfony 开发组老大又开始说 Symfony4 要发布的事情,但内容倒不至于让我太失望,的确变化也不小。下面就来说说老大哥提到了 SF4 到底有哪些变化。

PHP 7.1 新功能之其他改进

Chris Yue 2 comments

剩下的都是比较明显的,没啥好讨论的改进,所以就一块儿说吧

PHP 7.1 新功能之使用方括号数组符号多值复制和指定键值赋值

Chris Yue No Comments

PHPer 们可能都知道 list 的用法,简单来说就是可以在一个表达试里通过数组对多个变量赋值:

感觉是不是很方便呢?在 PHP 7.1 中,还能更省事儿:

PHP 7.1 新功能之 Nullable Type

Chris Yue No Comments

在 PHP5 时代,PHP 的参数已经支持 type hint(除了基本类型),想必大家应该很熟悉;后来 PHP7 时代来临,PHP 也可以指定返回值的类型(以及基本类型的 type hint)。但我们可能还有一种需求:除了指定的 type hint,参数或者返回值也能定义可以为 null,举个例子,假如我们有一个 UserRepository 类,有一个方法叫 find($id),此方法可返回一个 User 对象,也可返回 null,在 PHP7.1 里就可以这么定义了:

PHP 7.1 版本新功能详解

Chris Yue No Comments

回头想想 PHP 7.0 还没用上多长时间,居然 PHP 7.1 就要出来了…… PHP 这是要撒腿狂奔的节奏啊!那么这一次更新,又将给大家带来什么惊喜呢?

使用 APC(u) 创建访问频次限制服务

Chris Yue No Comments

我们经常会遇到这样的需求:红包在 5 分钟内不能领取两次,在 1 分钟内不能超过两次抽奖,或者某个接口一个 IP 一天只能访问50次,这种需求就是访问频次限制。

PHPer 应该对 APC 都不太陌生,APC 不但可以用来缓存 opcode,而且也可以用做 shared memory。利用 APC 的第二种特性,我们可以用来做类似 NGINX 的 limit_req 模块的访问频次限制功能。

2019年四月
« 3月  
1234567
891011121314
15161718192021
22232425262728
2930