PHP 5.3.x で推奨されない機能

PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATEDE_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_ERRORE_USER_WARNING のようなものを示すのに使います。

INI ディレクティブで推奨されないものは以下の通りです。 これらのひとつ以上を有効にすると、起動時 E_DEPRECATED エラーが発生します

推奨されない関数

  • call_user_method (かわりに call_user_func を使用します)
  • call_user_method_array (かわりに call_user_func_array を使用します)
  • define_syslog_variables
  • dl
  • ereg (かわりに preg_match を使用します)
  • ereg_replace (かわりに preg_replace を使用します)
  • eregi (かわりに preg_match'i' 修正子を使用します)
  • eregi_replace (かわりに preg_replace'i' 修正子を使用します)
  • mcrypt_generic_end
  • set_magic_quotes_runtime およびそのエイリアスである magic_quotes_runtime
  • session_register (かわりにスーパーグローバル $_SESSION を使用します)
  • session_unregister (かわりにスーパーグローバル $_SESSION を使用します)
  • session_is_registered (かわりにスーパーグローバル $_SESSION を使用します)
  • set_socket_blocking (かわりに stream_set_blocking を使用します)
  • split (かわりに preg_split を使用します)
  • spliti (かわりに preg_split'i' 修正子を使用します)
  • sql_regcase
  • mysql_db_query (かわりに mysql_select_db および mysql_query を使用します)
  • mysql_escape_string (かわりに mysql_real_escape_string を使用します)
  • ロケールカテゴリ名を文字列で渡すこと。かわりに LC_* 系の定数を使用します。
  • is_dstmktime に渡すこと。 かわりにタイムゾーン処理用の新しい関数を使用します。

推奨されない機能

  • new の返り値を参照で代入すること
  • 呼び出し時の参照渡し