Tags:
Node Thumbnail

ทีม PHP ประกาศออก PHP รุ่นใหม่ในหมายเลข 5.6.0 ซึ่งมีความสามารถที่เข้ากันไม่ได้กับรุ่นก่อนหน้า ดังนี้

  • คีย์ในอาร์เรย์จะไม่ถูกเขียนทับเมื่อประกาศค่าเป็น property ของ class ผ่านการประกาศด้วยวงเล็บเหลี่ยม (bracket)
  • ฟังก์ชัน json_decode() จะเข้มงวดกับการแปลไวยากรณ์ JSON มากขึ้น
  • Stream wrappers จะตรวจสอบใบรับรองเป็นค่าเริ่มต้นเมื่อใช้งาน SSL/TLS
  • ค่าตัวเลขขนาดใหญ่ที่สร้างจาก GMP ถูกทำให้เป็นวัตถุแล้ว
  • การใช้ฟังก์ชันจาก Mcrypt ต้องส่งค่ากุญแจและ IV ที่ถูกต้องเสมอ

ส่วนความสามารถใหม่ๆ ที่เพิ่มเข้ามาคือ

  • สร้างค่าคงที่จากนิพจน์ได้แล้ว (เดิมทีการสร้างค่าคงที่ต้องเขียนเป็นค่าเดี่ยวๆ ลงไปเท่านั้น)
  • ใช้ ... เพื่อสร้างฟังก์ชันที่รับตัวแปรเท่าไหร่ก็ได้ เช่น
    function plus($x, $y, ...$options) {
        if (in_array('abs', $options)) {
            $x = abs($x);
            $y = abs($y);
        }
        return $x + $y;
    }
  • ใช้ ... เพื่อ แตกตัวแปรจากอาร์เรย์เข้าฟังก์ชัน เช่น plus(42, ...[23,'abs']);
  • สามารถใช้เครื่องหมาย ** เพื่อเขียนแทนการยกกำลัง เช่น 4 == 2**2;
  • สามารถนำเข้าฟังก์ชันและค่าคงที่ด้วยคำสั่ง use จาก namespace อื่นได้แล้ว
  • เพิ่ม phpdbg ซึ่งเป็นเครื่องมือสำหรับดีบั๊กโปรแกรมแบบโต้ตอบกับผู้ใช้ (เช่นเดียวกับ gdb)
  • php://input สามารถใช้งานซ้ำได้เรื่อยๆ และประกาศไม่แนะนำให้ใช้ $HTTP_RAW_POST_DATA
  • GMP รองรับการใช้งานกับเครื่องหมายแล้ว เช่น 42 + gmp_init(123456);
  • รองรับการอัพโหลดไฟล์ที่มีขนาดใหญ่กว่า 2 GB

แถวนี้คงยังไม่รีบอัพเกรดกันเท่าไหร่ แต่ใครที่เขียน PHP อยู่ก็เตรียมตัวรับมือความเปลี่ยนแปลงด้วยนะครับ

ที่มา: PHP.net ผ่าน ทวีตของ @laracasts

Get latest news from Blognone

Comments

By: l2aelba
iPhoneAndroid
on 28 August 2014 - 23:54 #735977
l2aelba's picture

ผมว่าโพสพวกนี้ น่าจะเขียนเป็นภาษาอังกฤษเลยนะครับ น่าจะเข้าใจได้ง่ายกว่า :D

By: neizod
ContributorTraineeIn Love
on 29 August 2014 - 01:40 #736023 Reply to:735977
neizod's picture

โดยส่วนตัวแล้ว จะพยายามใช้ภาษาไทยให้ได้มากที่สุด ตราบเท่าที่ยังสื่อสารได้เข้าใจนะครับ

อนึ่ง ผมมองว่าเขียนลงตรงนี้มันออกจะเป็นทางการอยู่บ้าง จะใช้ไทยคำอังกฤษคำแบบตอนคุยกันเองคงไม่เข้าท่า เลยพยายามถอดศัพท์/ทับศัพท์มาครับ

อ่านยากไปขออภัยด้วย กดจิ้มที่มาของข่าวไปอ่านต้นทางที่เป็นภาษาอังกฤษได้

By: overbid
ContributorAndroidRed HatUbuntu
on 29 August 2014 - 09:49 #736076 Reply to:736023

+1

By: jaideejung007
ContributorWindows PhoneWindows
on 29 August 2014 - 18:47 #736255 Reply to:736023
jaideejung007's picture

+1

ถึงจะทับศัพท์ แต่อย่างน้อย คนด้อยภาษาอังกฤษ ก็พอจะอ่านรู้เรื่องอยู่นะ

By: itpcc
ContributoriPhoneRed HatUbuntu
on 28 August 2014 - 23:57 #735979
itpcc's picture

ฟังก์ชัน json_decode() จะเข้มงวดกับการแปลไวยากรณ์ JSON มากขึ้น
-ิบหายแล้ว


บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P

By: ipats
ContributorNOOBIn Love
on 29 August 2014 - 00:40 #735996

"วงเล็บปีกแข็ง" ไม่แน่ใจว่าหมายถึง [ ] หรือเปล่าครับ ปกติจะใช้ "วงเล็บเหลี่ยม" หรือ "วงเล็บก้ามปู" หรือจะหมายถึงวงเล็บปีกกา { }


iPAtS

By: neizod
ContributorTraineeIn Love
on 29 August 2014 - 01:34 #736018 Reply to:735996
neizod's picture

แก้แล้วครับ เพิ่งรู้ว่าผมคนเดียวที่ไม่ได้เรียนมาตอนเด็กๆ ว่ามันใช้ชื่อวงเล็บเหลี่ยม T__T

By: icez
ContributoriPhoneAndroidRed Hat
on 29 August 2014 - 03:38 #736041 Reply to:736018

ผมเรียกก้ามปูมาโดยตลอดเลยนะเนี่ย แล้วก็สงสัยมาโดยตลอดว่ามันเป็นก้ามปูได้ยังไง

By: Bigta
ContributoriPhoneAndroidUbuntu
on 29 August 2014 - 08:42 #736058 Reply to:736018
Bigta's picture

ผมเรียกวงเล็บใหญ่ :3

By: toomtam90
AndroidUbuntuWindows
on 29 August 2014 - 09:32 #736067

bracket => {}
square bracket => []

By: neizod
ContributorTraineeIn Love
on 29 August 2014 - 10:03 #736078 Reply to:736067
neizod's picture

เอ... เครื่องหมาย {} เค้าเรียกว่า braces ไม่ใช่หรือครับ?

ส่วน [] จริงๆ ถ้ายึดตามอเมริกัน-อังกฤษ เรียกแค่ bracket อย่างเดียวได้ครับ

By: overbid
ContributorAndroidRed HatUbuntu
on 29 August 2014 - 09:49 #736075

return $x + y; น่าจะเป็น return $x + $y; ป่ะครับ