改廃された技術

編集

PHPの改廃された技術や利用が推奨されない技術は、セキュリティ要件の向上、言語の近代化、より良いプログラミング手法の確立などによって置き換えられてきました。以下に、代表的な技術を示します。

mysql_* 関数群

編集
  • サポート開始年: PHP 2.0 (1995年)
  • サポート終了年: PHP 7.0 (2015年)
廃止または衰退の理由
セキュリティ上の問題(SQLインジェクションの危険性)や機能の制限により、完全に廃止されました。
代替技術
MySQLi拡張またはPDO(PHP Data Objects)の使用が推奨されます。

register_globals

編集
  • サポート開始年: PHP 3 (1998年)
  • サポート終了年: PHP 5.4.0 (2012年)
廃止または衰退の理由
深刻なセキュリティ上の脆弱性を引き起こす可能性があるため、完全に削除されました。
代替技術
スーパーグローバル変数($_GET、$_POST、$_SESSION等)の使用が推奨されます。

magic_quotes

編集
  • サポート開始年: PHP 3
  • サポート終了年: PHP 5.4.0 (2012年)
廃止または衰退の理由
セキュリティ機能として不十分で、予期せぬ動作を引き起こす可能性があったため廃止されました。
代替技術
htmlspecialchars()、PDOのプリペアドステートメント、またはフィルタ関数の使用が推奨されます。

safe_mode

編集
  • サポート開始年: PHP 4
  • サポート終了年: PHP 5.4.0 (2012年)
廃止または衰退の理由
セキュリティモデルとして不完全で、多くの制限があったため廃止されました。
代替技術
オープンバジルやsuEXEC、またはPHPFPMの権限設定による適切なセキュリティ設定が推奨されます。

ereg_* 関数群

編集
  • サポート開始年: PHP 3
  • サポート終了年: PHP 7.0 (2015年)
廃止または衰退の理由
古い正規表現エンジンを使用しており、パフォーマンスと機能の面で制限がありました。
代替技術
preg_*関数群(PCRE関数)の使用が推奨されます。

mcrypt拡張

編集
  • サポート開始年: PHP 4
  • サポート終了年: PHP 7.2 (2017年)
廃止または衰退の理由
開発が停止したライブラリに依存しており、現代の暗号化要件を満たさなくなりました。
代替技術
OpenSSL拡張またはSodium拡張の使用が推奨されます。

create_function()

編集
  • サポート開始年: PHP 4
  • サポート終了年: PHP 7.2で非推奨、PHP 8.0で削除
廃止または衰退の理由
eval()に似た安全性の問題があり、パフォーマンスも悪かったため廃止されました。
代替技術
無名関数(クロージャ)の使用が推奨されます。

split() 関数

編集
  • サポート開始年: PHP 3
  • サポート終了年: PHP 7.0 (2015年)
廃止または衰退の理由
ereg_*関数群の一部として、より効率的な代替手段の登場により廃止されました。
代替技術
explode()関数またはpreg_split()関数の使用が推奨されます。

PHP短縮タグ

編集
  • サポート開始年: PHP 3
  • サポート終了年: PHP 7.0で非推奨化が開始
廃止または衰退の理由
設定依存の動作やXMLとの混同の可能性があるため、使用が推奨されなくなりました。
代替技術
標準的なPHPタグ(<?php ?>)または<?= ?>の使用が推奨されます。