มีอะไรใหม่บ้างใน PHP 8.1

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
0
รับทราบ
0
เยี่ยม
0
แย่
0
ตลก
0
รักเลย
0
โกรธ
Beta Version v21.6.13 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ