ショコラ
PHP 廃止された関数を使うには?
PHPのバージョンが上がり、今まで使っていた関数が廃止されてしまった場合。廃止された関数を呼び出している箇所を書き換えるのではなく、逆に廃止された関数を定義して 元のソースそのまま でいこうと思います。
もっさん先輩
例
今まで遭遇した廃止された関数を復活させたもの。
function split(string $pattern, string $string, int $limit = -1):array
{
return mb_split($pattern,$string,$limit);
}
function ereg(string $pattern, string $string, array &$regs = null):int
{
return mb_ereg($pattern,$string,$regs);
}
function mbereg(string $pattern, string $string, array &$regs = null):int
{
return mb_ereg($pattern,$string,$regs);
}
function eregi(string $pattern, string $string, array &$regs = null):int
{
return mb_eregi($pattern,$string,$regs);
}
function ereg_replace (string $pattern, string $replacement, string $string):string
{
return mb_ereg_replace($pattern,$replacement,$string);
}
function each(array|object &$array):array|false
{
$key = key($array);
$val = current($array);
$result = false;
if (!is_null($key)) {
$result = [0=>$key,'key'=>$key,1=>$val,'value'=>$val];
next($array);
}
return $result;
}
シチュエーション
昔作った PHP のプログラムの中で split、ereg 等廃止されてしまった関数が使われていた。ソースを書き直すのもどうかなと思った。