/ php

PHP 7.1 chính thức ra mắt – Có gì mới ?

PHP phiên bản 7.1.0 đã chính thức ra mắt với nhiều cải tiến mới như kiểu dữ liệu có thể rỗng, kiểu trả về void, thiết lập mức truy cập các hằng ở các đối tượng và còn nhiều thứ khác, bây giờ chúng ta hãy xem qua các cải tiến mới có gì hay nhé.

Nullable Types

Bây giờ các phương thức, hàm có thể trả về rỗng mà không bị ràng buộc như trước chỉ cần thêm dấu chấm hỏi ? ở phía trước kiểu dữ liệu trả về, ví dụ:

function getNumbers(): ?int  {
    return null; // hợp lệ
}
 
function getNumbers(): ?int  {
    return 42; // hợp lệ
}
 
function getNumbers(): ?int {
    return new numbersClass(); // lỗi
}

Void Return Type

Chúng ta đã có thể đặt kiểu trả về là void cho một phương thức, hoặc một hàm bất kỳ:

function aSimpleFunction(): void {
    return 1;
    // Lỗi: `void` không được trả về giá trị bât kỳ.
    // Fatal error: A void function must not return a value
}
 
function aSimpleFunction(): void {
    // hợp lệ
}
 
function aSimpleFunction(): void {
    return; // hợp lệ
}
 
function aSimpleFunction(): void {
    return null;
    // Lỗi: `void` không được trả về giá trị bât kỳ.
    // Fatal error: A void function must not return a value
}

Class constant Visibility

Việc thiết lập các mức truy cập trong đối tượng trước đây chỉ được cấp cho thuộc tính và phương thức, ở phiên bản 7.1.0 đã cho phép ta cấp quyền cho Hằng, xem qua ví dụ sau:

class SampleClass {
    // nếu không thiết lập, mặc định sẽ là `public`
    // tương tự thuộc tính và phương thức
    const PUBLIC_CONST = 0;
 
    // Chúng ta cùng định nghĩa các hằng với các quyền truy cập khác nhau
    private const PRIVATE_CONST = 0;
    protected const PROTECTED_CONST = 0;
    public const PUBLIC_CONST_TWO = 0;
}
 
$example = new SampleClass();
 
$example::PUBLIC_CONST; // hợp lệ
$example::PRIVATE_CONST; // lỗi
$example::PROTECTED_CONST; // lỗi
$example::PUBLIC_CONST_TWO; // hợp lệ

Catching Multiple Exception Types

Trước đây khi càn bắt các Exception ta thường làm như sau:

try {
   // Some code...
} catch (ExceptionType1 $e) {
   // Code to handle the exception
} catch (ExceptionType2 $e) {
   // Same code to handle the exception
} catch (Exception $e) {
   // ...
}

Từ PHP 7.1.0, ta có thể gộp các Exception cùng kiểu, cùng mục đích như các điều kiện:

ry {
   // Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
   // Code to handle the exception
} catch (\Exception $e) {
   // ...
}

More and more…

Còn các cải tiến khác cũng rất hay như:

  • Hỗ trợ Curl HTTP/2 server
  • Cải tiến mảng và list()
  • Loại bỏ bỏ hàm mcrypt()
  • Còn nữa…

Để xem đầy đủ những thay đổi, điểm mới của phiên bản php 7.x bạn truy cập vào release announcement hoặc changelog.

Đinh Quốc Hân

Đinh Quốc Hân

Mình rất yêu thích việc lập trình web, đam mê việc nghiên cứu, tạo ra các sản phẩm có ích cho bản thân và cộng đồng

Read More
PHP 7.1 chính thức ra mắt – Có gì mới ?
Share this

Subscribe to Dinh Quoc Han