มีอะไรใหม่บ้างใน PHP 8.1
PHP
อัพเดทล่าสุด 17 มิ.ย. 64
เลือกๆ มาเฉพาะอันที่ผมคิดว่าเจ๋ง + ได้ใช้งานแหงๆ นะครับ จริงๆ มันก็มีอะไรใหม่ๆ เยอะนั่นล่ะ
Enums

เหวย ในที่สุดมันก็มาแล้ว enum ที่ชาวบ้านชาวช่องเค้ามีกันมาตั้งแต่สิบๆ ปีที่แล้ว , แต่ก็นะ มาช้าดีกว่าไม่มา

วิธีการใช้งาน ก็ประมาณนี้เลย

enum Status {
  case None;
  case Active;
  case Closed;
}

Status $status = Status::None;

if($status === Status::Active)
Associative Array unpacking

จริงๆ การใช้ … (ไข่ปลา รึที่เรียกว่า spread operator) ในการ unpacking มีมาตั้งแต่ php 7.4 แล้ว แต่อันนั้น ทำได้เฉพาะ Numberic Array

แต่งวดนี้ ใช้ได้กับ Associative Array แล้วจ้า ขอบอกว่า ถ้าเคยเขียน Js น่าจะพอรู้ว่า มันโครตสะดวก ในการบริหารตัวแปลเลยทีเดียวเชียว

$array1 = ["a" => 1];

$array2 = ["b" => 2];

$array = ["a" => 0, ...$array1, ...$array2];

var_dump($array); // ["a" => 1, "b" => 2]
function array_is_list

เออ อันนี้ก็งง ว่าทำไม มันไม่มีมาตั้งนานละ

อันนี้เอาไว้ตรวจสอบว่า Array นั้นเป็น Numberic Array รึ Associative Array แน่

$list = ["a", "b", "c"];

array_is_list($list); // true

$notAList = [1 => "a", 2 => "b", 3 => "c"];

array_is_list($notAList); // false

$alsoNotAList = ["a" => "a", "b" => "b", "c" => "c"];

array_is_list($alsoNotAList); // false
Final class constants

ใน class เราจะสามารถประกาศ const แบบ final ได้แล้ว ในกรณีที่เราไม่อยากให้ class ที่สืบทอดไป override ค่าใหม่

class Foo
{
    final public const X = "bar";
}
แหล่งที่มาhttps://stitcher.io/blog/new-in-php-81
Beta Version v23.12.4 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ