Penggunaan fungsi DEPRACATE pada PHP

Penggunaan fungsi DEPRACATE pada PHP

Deprecated: Function session_is_registered() is deprecated in

Pernah mendapatkan pernyataan:

Deprecated: Function session_is_registered() is deprecated in […]

ketika sedang  menjalankan kode  PHP? hal ini disebabkan oleh fitur Deprecated yang ditambahkan mulai PHP 5.3.x yang otomatis memberikan semacam notifikasi error jika beberapa fungsi atau variabel di gunakan.

Fungsi seperti session_is_registered() telah ditandai Deprecated mulai PHP 5.3.x dan tidak akan digunakan lagi mulai PHP 6.0.0, hal ini diperlukan untuk memutus beberapa fungsi lama yang dinilai memiliki celah keamanan atau performa (menurut pendapat penulis).

Dengan kata lain notifikasi error ini memberikan peringatan bagi para programmer PHP untuk tidak lagi menggunakan fungsi tersebut karena meskipun masih berjalan di PHP 5.3.x fungsi tersebut akan dihapus di PHP 6.0.0

Berikut adalah daftar direktive INI yang akan memicu error Deprecated:

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Komentar dengan ‘#’ juga termasuk Deprecated di-file .INI

Daftar fungsi yang akan memicu error Deprecated:

  • call_user_method() (gunakan call_user_func() saja)
  • call_user_method_array() (gunakan call_user_func_array() saja)
  • define_syslog_variables()
  • dl()
  • ereg() (gantinya gunakan preg_match() saja)
  • ereg_replace() (gantinya gunakan preg_replace() saja)
  • eregi() (gantinya gunakan preg_match() dengan ‘i’ modifier saja)
  • eregi_replace() (gantinya gunakan preg_replace() dengan ‘i’ modifier saja)
  • set_magic_quotes_runtime() dan alias-nya, magic_quotes_runtime()
  • session_register() (gantinya gunakan $_SESSION superglobal saja)
  • session_unregister() (gantinya gunakan $_SESSION superglobal saja)
  • session_is_registered() (gantinya gunakan $_SESSION superglobal saja)
  • set_socket_blocking() (gantinya gunakan stream_set_blocking() saja)
  • split() (gantinya gunakan preg_split() saja)
  • spliti() (gantinya gunakan preg_split() dengan ‘i’ modifier saja)
  • sql_regcase()
  • mysql_db_query() (gantinya gunakan mysql_select_db() dan mysql_query() saja)
  • mysql_escape_string() (gunakan mysql_real_escape_string() saja)
  • Melewatkan nama lokal kategori sebagai string sekarang deprecated. Gunakan konstanta dari LC_* saja.
  • Parameter is_dst pada mktime(). Gunakan fungsi timezone yang baru saja.

Fitur lain yang Deprecated:

  • Return value dari new lewat reference sekarang deprecated.
  • Call-time pass-by-reference sekarang deprecated.

Me-non-aktifkan error Deprecated

Penggunaan fungsi DEPRACATE pada PHP

PHP.ini Gunakan CTRL+F untuk mencari error_reporting

Hal ini tidak mengubah bahwa fungsi tersebut tetap akan dihapus di PHP 6.0.0 namun setidaknya dapat menghilangkan notifikasi error yang merusak tampilan :p

Buka php.INI lalu sesuaikan nilai error_reporting menjadi:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

yang artinya, tampilkan semua error kecuali notice level dan deprecated level simpan php.ini dan restart Apache.

Selamat mencoba, semoga bermanfaat 😉

(Adaptasi dari PHP doc | http://php.net/manual/en/migration53.deprecated.php)