Matawebsite Promo Lebaran 2022

Membahas Fitur - Fitur Baru Yang Dibawa PHP 8

date 03 Jun 2021
date Sulfikardi
date 678
date Web Programming
Membahas Fitur - Fitur Baru Yang Dibawa PHP 8

Beberapa waktu lalu PHP merilis versi terbaru yaitu PHP 8.Tentu saja versi terbaru ini menghadirkan banyak perubahan dan perbaikan yang sangat berguna. Pada kesempatan kali ini kita akan membahas beberapa fitur baru yang dibawa oleh PHP 8.

Berikut ini adalah fitur-fitur baru pada PHP 8 yang tentunya akan memudahkan pekerjaan Kita: 

1. Named Argument

Pada PHP 7 saat kita membuat fungsi yang memiliki banyak argument, kita harus mengisi semua argument yang ada dan sesuia urutan agar data yang dimasukkan tidak tertukar walaupun kadang ada argument yang sebenarnya tidak selalu memiliki nilai / value.

Berikut ini contohnya: 

// PHP 7
setcookie("mycookie", "myvalue", 0, null, null, false, true);

Namun hal ini tidak berlaku untuk named arguments PHP 8. Argumen yang dikirimkan memiliki nama sehingga urutan argumen jadi tidak berpengaruh. Artinya, Kita hanya perlu menulis nilai yang ingin Kita ubah. 

Berikut ini contohnya: 

// PHP 8
setcookie(httponly: true, value: "myvalue", name: "mycookie");

 Dengan adanya Name Arguments pada PHP 8 ini, proses coding menjadi lebih mudah. Sebab identifier ketika argumen dikirim ke fungsi akan memperjelas pembacaan kode.

2. Match Expression 

PHP 8 memperkenalkan fitur Match Expression. Fitur ini mirip dengan Switch Case pada PHP 7. Bedanya, Match Expression memiliki sintaks yang lebih ringkas. 
perbedaan  antara Match dan Switch Case adalah sebagai berikut:

  1. Match expression dapat mengembalikan value
  2. Match expression hanya mendukung ekspresi tunggal dan tidak membutuhkan pernyataan break;
  3. Match expression melakukan perbandingan yang sangat ketat

Berikut ini contoh penggunaanya:

// PHP 7

switch (8.0) {
  case '8.0':
    $result = "Oh no!";
    break;
  case 8.0:
    $result = "This is what I expected";
    break;
}
echo $result;
//> Oh no!
 

 

// PHP 8

echo match (8.0) {
  '8.0' => "Oh no!",
  8.0 => "This is what I expected",
};
//> This is what I expected

3. Constructor Property Promotion 

Fitur baru PHP 8 berikutnya adalah Constructor Property Promotion. Fitur ini berfungsi mengurangi penulisan atribut berulang pada class constructor.

Berikut ini contoh penggunaanya:

// PHP 7

class Point {
  public float $x;
  public float $y;
  public float $z;

  public function __construct(
    float $x = 0.0,
    float $y = 0.0,
    float $z = 0.0
  ) {
    $this->x = $x;
    $this->y = $y;
    $this->z = $z;
  }
}

 

// PHP 8

class Point {
  public function __construct(
    public float $x = 0.0,
    public float $y = 0.0,
    public float $z = 0.0,
  ) {}
}

4. Nullsafe operator  

Pada PHP 7, untuk melakukan pengecekan nilai null  pada variabel kita harus menggunakan statement if yang kadang berulang ulang.

Berikut ini contoh penggunaanya:

// PHP 7

$country =  null;

if ($session !== null) {
  $user = $session->user;

  if ($user !== null) {
    $address = $user->getAddress();
 
    if ($address !== null) {
      $country = $address->country;
    }
  }
}

Nah, dengan PHP 8 Anda bisa menggunakan fitur NullSafe Operator.Dengan menggunakan fitur ini, Anda bisa mendeteksi null dalam suatu elemen rantai. Jika ditemukan null dalam rantai itu, maka proses eksekusi akan langsung dibatalkan dan langsung menetapkan null.

// PHP 8

$country = $session?->user?->getAddress()?->country;

5. Union types 

Fitur Union Types dapat menggabungkan satu atau lebih tipe data dengan menggunakan operator | pipe. Sebagai contoh sebuah fungsi dapat menerima inputan berupa angka dalam bentuk integer dan float.

Berikut ini contoh penggunaanya:

// PHP 7

class Number {
  /** @var int|float */
  private $number;

  /**
   * @param float|int $number
   */
  public function __construct($number) {
    $this->number = $number;
  }
}

new Number('NaN'); // Ok

Sedangkan, pada PHP 8 format sintaksnya lebih sederhana:

// PHP 8

class Number {
  public function __construct(
    private int|float $number
  ) {}
}

new Number('NaN'); // TypeError

6. JIT (Just In Time) Compiler 

JIT Compiler merupakan fitur unggulan terbaru yang ada di dalam PHP 8. Fitur ini bisa meningkatkan performa yang signifikan pada kode PHP. Fitur baru JIT ini bisa meningkatkan kinerja program sekitar 3 kali lebih baik.


JIT Compiler berfungsi sebagai mekanisme untuk memonitor terhadap source code PHP. Dengan proses tersebut, interpreter PHP bisa menandai setiap baris kode yang akan dieksekusi secara berulang lalu melakukan kompilasi pada kode tersebut.

Matawebsite Promo
sul.png

Sulfikardi

Web Design & Web Programming

Halo, saya seorang Web Developer yang terbiasa mengembangkan website menggunakan HTML, CSS, Javascript, PHP, MYSQL, dan Laravel. Disini saya akan membagikan pengalaman saya dalam membangun dan mengembangan website yang responsif dan dinamis

Artikel Populer

Halo, ada yang bisa kami bantu?
Daftar Sekarang