ปัญหาใน PHP 5.3 เขียนเมื่อ 2009.07.11 โดย

ตั้งแต่ 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



คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย