PHP的版本

你好!我们来谈谈PHP和版本问题吧!

严肃的事实是,我创造了《现代PHP反模式》和《Functools》,而健康的pixiv则寄宿在健康的PHP上。我写了关于如何保持现代PHP的七个关键因素,因此感到疲倦!

说到版本,尽管PHP7也算得上是其中之一,但并不是主角。

スクリーンショット 2015-12-24 午後11.34.35.png

大家都喜欢的,指的是php.net的官方手册中的内容。

列举出函数 (liè jǔ chū shù)

顺便一提,在php.net上可以获取到函数列表,链接为http://doc.php.net/downloads/json/php_manual_en.json。然而,并没有php_manual_ja.json。

如果我们解释这个问题,能不能生成每个版本的PHP函数列表呢?特别是那些收录在供应商特定模块中的神秘数据库几乎是不必要的,也不需要考虑PHP 5.5之后被废弃的函数。

我也有过那样的想法。

0.0.1
0.2.0
None
PHP 4 >= 4.0.2, PHP 5, PHP 7
PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0
PHP 4 >= 4.0.6, PHP 5
PHP 4 >= 4.0.6, PHP 5 <= 5.0.5
PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0
PHP 5 < 5.4.0
PHP 5 < 5.4.0, PECL sqlite >= 1.0.3
PHP 5 < 5.4.0, sqlite >= 1.0.0
PHP 5 <= 5.0.5, PECL dbx >= 1.1.0
PHP 5 >= 5.0.2, PHP 7
PHP 5.6
PHP 7, PECL zip >= 1.13.0
PHP >= 5.3.0
PHP >= 5.3.0, PECL fileinfo >= 0.1.0
Unknown
^

能解析这种东西的白痴家伙…!

0.0.1、0.2.0、无、未知、^,你们是什么东西?

即使看起来是有带版本号的那个,不等号的方向是否是>或者<=,以及当前有效的功能是有没有附带PHP 7,都是混乱不清的。

整理分类

我想要的只是提取当前有效的PHP函数,所以我会进行以下分类。

    • PHP 4

 

    • PHP 5

 

    • PHP 5.4

 

    • PHP 5.5

 

    • PHP 5.6

 

    • PHP 7

PECL xxxxx (PECLモジュール)

xxxxx (DB系とかデフォルトでインストールされないモジュール)

obsolete PHP 4 (PHP 4時代に廃止されたやつ)

obsolete PHP 5 (PHP 5時代に廃止されたやつ)

obsolete PHP 7 (PHP 7で廃止されたやつ)

由于现代PHP已经弃用了某些功能,因此我们将予以清理并剔除这些无用功能。

在PHP 7中,只要函数表明了它是适用于PHP 7的函数,就可以了解其有效性。但遗憾的是,大部分函数并没有明确指明适用于PHP 7。为了判断过时的PHP 7函数,我们决定根据不兼容的变更来参考,自己编制一个废弃函数列表。唉…

没有供应商提供的库,类似供应商特定模块的在标准配置中不会被安装,因此无法运行。将其与版本分开进行分类。

这些都是很烦人的东西,比如JSON、Phar和PECL这些标准模块,我们也都单独支持它们。

ImageMagick中存在着一段含糊不清且漫不经心的描述,大概意思是“没有版本信息。可能只有SVN版本。”

スクリーンショット 2015-12-25 午前1.57.24.png

产出

似乎还有很多遗漏的地方, 但已经放在Gist上了。

phpnet_version_parse.php JSON吐き出すやつ

functions.json 個人的に利用しなさそうなモジュール外した

functions-all.json ぜんぶ

在年底年初,我希望能够整理出一份更加仔细的成果物呢~ ヾ(〃><)ノ゙☆

摘要

PHP.net也非常兴奋啊!圣诞快乐!

スクリーンショット 2015-12-24 午後11.36.33.png
广告
将在 10 秒后关闭
bannerAds