11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

古いエクステンションがざっくり削除されますよ

Last updated at Posted at 2018-06-28

Cleaning up unmaintained extensionsというRFCが2018/06/26に可決されました。
もはやメンテされていない古いコア拡張をざっくり削除するという、PHPとしては珍しい削減方向のRFCです。
これらは今後PHP本体からPECLへと移動になり、マニュアルにはメンテナンスされておらず開発が止まっていますのレッテルが貼られることになります。

いまのところPHP7.3で導入する予定ってなってるけど、本当に7.3で入るのでしょうか?

Cleaning up unmaintained extensions

enchant

Enchantスペリングライブラリは、EnchantをPHPから呼び出す関数です。
Enchantは各種スペルチェッカーに統一的なインターフェイスでアクセスできるというラッパーソフトウェアです。
便利そうな気はしますが、しかし現代のスペルチェッカーはリアルタイムにチェックできてこそなんぼの世界なので、PHPから呼び出す必要性は皆無ですね。

現在の対応ソフトウェアはHunspellAspellHspellZemberekVoikkoAppleSpellの6種です。
自然言語よりプログラミング言語のチェッカーを呼び出せるようにした方が生き残れそう。

ftp

削除対象の中でおそらく最も影響の大きそうな拡張。
FTPはFTP接続関連の関数を提供します。
ftp_connectを使ったことのある人も多いはず。

今後はFTPコンテキストオプションcURLを使うことになるでしょう。

gettext

GettextGNU gettextを実装するライブラリで、PHPで最もググラビリティの低い関数_()を含みます。
国際化を提供するのですが、あまりに使い方が面倒に過ぎる
特にlocaleに影響されるのが厄介なので、わざわざ地雷を踏むより自力で書いた方がいいでしょう。

	require_once('language/string_' . \Teto\HTTP\AcceptLanguage::get()[0] . '.php');

pdo_odbc

PDO_ODBCドライバはPDOドライバのひとつで、ODBCに対応したものです。
ODBCは主にRDBMSに対して汎用的にアクセスするための共通インターフェイスということなのですが、まあそうそう上手くいくわけもなく、大抵は結局DBに特化した書き方が必要になります。

これによってIBM Db2unixODBCにPDO接続できなくなります。
PDOではないODBC関数は生き残ってるので今後はそちらを使うことになるでしょう。

と思ったら上のデータベースと接続する際には ODBC は使用しませんとか書いてあった。

readline

Readlineは、PHPからGNU Readlineを呼び出す関数です。
こいつはPHPで対話型シェルができるというものですが、さすがにそれをPHPでやる必要はないだろうと思いますね。

pspell

Pspellはスペルチェッカーです。
概要には何も書かれてないのですが、公式サイトへのリンクがaspell.netなので実体はAspellっぽいです。
MySQLiPDO_MYSQLみたいなものでしょうか。

sysvmsg / sysvsem / sysvshm

いずれもセマフォ関数にまとめられていて、順にSystemV メッセージSystemV セマフォSystemV 共有メモリへの対応です。
正直PHPからどのように使うべきなのかわかりません。

wddx

WDDX言語をまたいだデータ交換機能です。
WDDXはXMLなうえWDDX関数も使い勝手が悪く、時代が下るにつれYAML、REST、JSONとどんどん簡易的な形式に変化してきました。
もはや余程の理由でもない限りjson_encode/decodeで事足りるので、わざわざWDDXを使う意義は皆無でしょう。

何故かSessionシリアライザに使えるので、うっかり使ってしまっている場合は切り替え時に全セッションデータが消えることでしょう。

感想

FTP以外はぼ影響なさそう。

PHPの場合、他言語なら外部ライブラリとして提供されるような機能がコアに入ってることも多いので、仕様の変更も色々手続きがあって大変ですね。

あとマニュアルにはコア機能バンドルモジュールPECLに追放されたやつ削除された機能も分け隔て無く掲載されていて分け隔て無さすぎるので、もう少し整理した方がいい気がします。
だってPECLってgemやらpipみたいなものだし、公式マニュアルにそれらのドキュメントが載るって普通は無いでしょう。

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?