DANH MỤC: PHP 7

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.

 

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

The best way to learn is to share

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

Bình Luận

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