DANH MỤC: PHP 7

Bài 2: Giới thiệu về PHP 7.1.X


PHP 7.0 ra đời với những cải tiến vô cùng vượt bậc, nhưng với những cải tiến đó thì dường như vẫn là chưa đủ với một ngôn ngữ phổ biến như PHP. Và chỉ sau khi PHP 7.0 ra mắt được gần một năm thì PHP lại giới thiệu đến cộng đồng phiên bản PHP 7.1 với các tính năng mới vô cùng hữu dụng, và khắc phục hầu hết các lỗi mà PHP 7.0 gặp phải.

1, Hiệu năng.

-Điều đầu tiên chúng ta cần phải xét đến khi một phiên bản mới ra đời đó chính là hiệu năng của nó. Nếu như ở PHP 7.0 đã cho chúng ta thấy được hiệu năng vượt trội của nó so với phiên bản cũ, thì giờ đây chúng ta hãy cùng so sánh về hiệu năng của PHP 7.1 xem có cho kết quả tốt hơn PHP 7.0 nữa không.

-Và đây là kết quả so sánh  giữa PHP 7.0 và PHP 7.1 trên Symfony framework:

PHP 7.1 trên symfony framework

Như các bạn đã thấy thì PHP 7.1 đã cho chúng ta kết quả nhanh hơn PHP 7.0

2, Những cái mới trong PHP 7.1

-Ở đây mình sẽ chỉ khái quát qua những thứ mới còn về chi tiết thì mình sẽ trình bày vào một bài riêng.

Nullable types

-Với PHP 7.1 chúng ta có thể xác định kiểu giá trị trả về của hàm là một kiểu cụ thể hoặc là null bằng cách thêm ? vào kiểu dữ liệu ràng buộc trả về. 

VD:

<?php
function testReturn(?float $param): ?float
{
    return null;
}

Tham số truyền vào hàm

-Cũng như giá trị trả về của hàm, thì các tham số truyền vào hàm chúng ta cũng có thể xác định kiểu dữ liệu truyền vào cụ thể hoặc null với ký tự ?.

VD:

<?php
function testReturn(?float $param): ?float
{
    return $param;
}
testReturn(5.5); //5.5
testReturn(null); //null

Hàm void

-Bổ sung thêm hàm không có dữ liệu trả về (không có return, hoặc return;)

VD:

<?php
function swap(&$left, &$right): void
{
    $tmp = $left;
    $left = $right;
    $right = $tmp;
}

Chia mảng đối xứng

-Nếu như trước đây chúng ta phải xử dụng hàm list() gán phần tử của mảng cho biến thì giờ đây chúng ta đã có thể xử dụng dấu [] thay cho hàm list().

VD:

<?php
$arr = [
    [0,'Vu Thanh Tai'],
    [1,'Nguyen Van A']
];
//Trước PHP 7.1
list($id, $name) = $arr[0];
echo $id; //0
echo $name; //Vu Thanh Tai
//php 7.1
[$id, $name] = $arr[0];
echo $id; //0
echo $name; //Vu Thanh Tai

Phạm vi của hằng trong class

-Với PHP 7.1 chúng ta có thể khai báo phạm vi của hằng trong class.

VD:

<?php
class ConNguoi
{
    const A = 1;
    public const B = 1;
    protected const C = 1;
    private const D = 1;
}

Đa excetion

-Bạn đã có thể xử lý đa ngoại lệ trên PHP 7.1

VD:

<?php
try {
    // some code
} catch (FirstException | SecondException $e) {
    // handle first and second exceptions
}

Hỗ trợ key cho hàm list()

-Sử dụng key cho hàm list() hoặc [] trong PHP 7.1

VD:

<?php
$arr = [
    ['id' => 0,'name' => 'Vu Thanh Tai'],
    ['id' => 1,'name' => 'Nguyen Van A'],
];
list('id' => $id,'name' => $name) = $arr[0];
// or
['id' => $id,'name' => $name] = $arr[0];

Hỗ trợ negative string offsets

VD:

<?php 
echo 'abcdef'[-1]; //f

Chuyển đổi callable sang closues

-Bạn đã có thẻ chuyển đổi callable sang closure bằng phương thức Closure::fromCallable().

VD:

<?php
class Test
{
    public function exposeFunction()
    {
        return Closure::fromCallable([$this, 'privateFunction']);
    }

    private function privateFunction($param)
    {
        var_dump($param);
    }
}

$privFunc = (new Test)->exposeFunction();
$privFunc('some value'); //string(10) "some value"

Xem Thêm

-Ngoài ra còn một số chức năng mới nữa rất ít khi sử dụng các bạn có thể xem thêm tại đây.

3, Các Hàm được thêm.

Core PHP

  • sapi_windows_cp_get()
  • sapi_windows_cp_set()
  • sapi_windows_cp_conv()
  • sapi_windows_cp_is_utf8()

CURL

  • curl_multi_errno()
  • curl_share_errno()
  • curl_share_strerror()

Session

.....

4, Lời Kết.

-Phía trên là những gì nổi bật nhất trong phiên bản PHP 7.1 mà mình chắt lọc được, ngoài ra thì các bạn có thể xem thêm tại đây.

​​​​​​​

Nguồn: Toidicode.com

Thông tin tác giả

Thanh Tai (thanhtaivtt)

Thanh Tai (thanhtaivtt)

The best way to learn is to teach

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia