BASIC TO ADVANCE

Những tính năng mới trong PHP 7.3

PHP 7.3 chính thức được release vào ngày 06/12/2018 với những thay đổi về core giúp cho hiện năng của PHP lại được nâng lên đáng kể.

Hiệu năng của các phiên bản PHP

Và ở bài viết này mình sẽ liệt kê cho mọi người một số thay đổi của phiên bản PHP 7.3

1. Tính năng mới.

Array Destructuring hỗ trợ tham chiếu

- Ở phiên bản này PHP đã cho phép chúng ta sử dụng tham chiếu trong Array destructuring.

VD: trong VD mình sử dụng [] bạn có thể sử dụng với list().

<?php

$array = [
    'a value',
    ['b1 value', 'b2 value'],
    'c value',
];
$a = 'a';
[&$a, [$b, $c]] = $array;

var_dump($a, $b, $c);

Kết quả:

string(7) "a value"
string(8) "b1 value"
string(8) "b2 value"

FastCGI Process Manager

Thêm một số tham số giúp ghi logging trong FPM

  • log_limit
  • log_buffering
  • decorate_workers_output

Và một số thay đổi khác liên quan đến gói mb-string và LDAP cái này rất ít dùng nên mình không liệt kê chi tiết ở đây

2. Hàm mới

array_key_first()

- Hàm này sẽ trả về key đầu tiên trong mảng.

VD:

<?php

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey); // string(1) "a"

array_key_last()

- Hàm này sẽ trả về key cuối cùng trong mảng.

VD:

<?php

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_last($array);

var_dump($firstKey); // string(1) "c"

gc_status()

- Hàm này sẽ trả về trạng thái của GC (garbage collector). Trạng thái trả về sẽ là một mảng có 4 key như sau:

  • "runs"
  • "collected"
  • "threshold"
  • "roots"

VD:

<?php

// create object tree that needs gc collection
$a = new stdClass();
$a->b = [];
for ($i = 0; $i < 100000; $i++) {
    $b = new stdClass();
    $b->a = $a;
    $a->b[] = $b;
}
unset($a);
unset($b);
gc_collect_cycles();

var_dump(gc_status());

 Kết quả:

array(4) {
  ["runs"]=>
  int(5)
  ["collected"]=>
  int(100002)
  ["threshold"]=>
  int(50001)
  ["roots"]=>
  int(0)
}

hrtime()

- Hàm này sẽ trả về thời gian high resolution của hệ thống.

is_countable()

- Hàm này có tác dụng xem biết truyền vào là countable hay không.

VD:

<?php

var_dump(is_countable([1, 2, 3])); // bool(true)
var_dump(is_countable(new ArrayIterator(['foo', 'bar', 'baz']))); // bool(true)
var_dump(is_countable(new ArrayIterator())); // bool(true)
var_dump(is_countable(new stdClass())); // bool(false)

Và một số các hàm khác, nhưng nó lại nằm trong từng extension nên mình không liệt kê ở đây.

3. Loại bỏ

Tìm kiếm chuỗi với tham số không phải là string

- PHP đã ngừng hỗ trợ tìm kiếm chỗi đối với tham số chuyền vào không phải là chuỗi. Các hàm bị ảnh hưởng là những hàm sau đây:

Và một số thay đổi bên trong từng extension, mình sẽ không liệt kê ở đây.

 

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

0 Comments

Bài viết chưa có ai bình luận, hãy là người đầu tiên đi bạn!

Bình luận

Captcha