ตั้งแต่ PHP 5.3 ออกมาเมื่อวันที่ 30 มิถุนายน 2552 ที่ผ่านมานั้น ว่าจะเขียนบทความ แต่ยังทำ script ไม่เสร็จจึง slip มาเรื่อย วันนี้ขอกล่าวถึง PHP 5.3 ที่เพิ่งทำการพัฒนาใหม่ และมีการตัดสินใจที่จะตัดความสามารถบางอย่างออกไป ซึ่งเป็นปัญหาสำคัญกับคนไทยอย่างแน่นอน รายชื่อความสามารถที่ถูกตัดออกไปได้แก่
- call_user_method
- call_user_method_array
- defin_syslog_variables
- dl
- ereg
- ereg_replace
- eregi
- eregi_replace
- set_magic_quotes_runtime
- session_register
- session_unregister
- session_is_register
- set_socket_blocking
- split
- spliti
- sql_regcase
- mysql_db_query
- mysql_escape_string
และที่ตัดออกจาก php.ini
- define_syslog_variables
- register_globals
- register_long_arrays
- safe_mode
- magic_quotes_gpc
- magic_quotes_runtime
- magic_quotes_sysbase
และคุณสมบัติที่ถูกยกเลิก
- การส่งค่าแบบ reference
- การใช้ {} เพื่อการอ้าง offset ของ string
ส่วนฟังก์ชั่นที่คนไทยใช้กันมากจริงๆ และจะใช้ไม่ได้อีกต่อไปคือ
- ereg, eregi, ereg_replace, eregi_replace เปลี่ยนไปใช้ตระกูล perl compatible regular expressions (preg*)
- split เปลี่ยนไปใช้ preg_split แทน
- mysql_db_query เปลี่ยนไปใช้ mysql_select_db แล้วตามด้วย mysql_query
- mysql_escape_string เปลี่ยนไปใช้ mysql_real_escape_string
- register_globals เปลี่ยนไปใช้ Built-in global variables ($_REQUEST, $_GET, $_POST, $_SESSION, $_SERVER, $_ENV)
- session_register, session_is_register, session_unregister เปลี่ยนไปใช้ $_SESSION
มาถึงตรงนี้อยู่ที่ว่าเราต้องการให้ application ของเรารองรับ PHP 5.3 เลยหรือไม่ แต่การฝึกใช้ฟังก์ชั่นอื่นๆ แทนฟังก์ชั่นที่ถูกยกเลิกก็เป็นการเตรียมตัวที่ดี เพื่อที่พัฒนาให้รองรับได้ในหลายๆ version