12/08/2018, 17:07

Giới thiệu về PHP 7.1 - Bản nâng cấp đáng giá của người tiền nhiệm PHP 7.0

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 ...

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.

Điều đầu tiên chúng ta cần xét đến chính là hiệu năng của nó. PHP 7.0 ra đời cho thấy sự cải thiện hiệu năng đáng kể so với những phiên bản tiền nhiệm. Và theo kết quả so sánh trên Symfony framework, PHP 7.1 thậm chí còn nhanh hơn PHP 7.0

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ề.
<?php
  function testReturn(?float $param): ?float
  {
      return null;
  }
?>

Tham số truyền vào

  • Cũng như giá trị trả về, các thám sô truyền vào chúng ta cũng có thể xác định được kiểu dữ kiệu truyền vào cụ thể hoặc null bằng ký tự ?
<?php
  function testReturn(?float $param): ?float
  {
      return $param;
  }
  testReturn(5.5); //5.5
  testReturn(null); //null
?>

Hàm void

  • Bổ sung hàm không có dữ liệu trả về ( không có return , hoặc return;)
<?php
  function swap(&$left, &$right): void
  {
    $tmp = $left;
    $left = $right;
    $right = $tmp;
  }
?>

Chia mảng đối xứng

  • Nếu như trước đây ta sử dụng hàm list() để gán phần tử của mảng cho biến thì giờ chúng ta có thể sử dụng dấu [ ] thay cho hàm list()
<?php
  $arr = [
    [0, 'Dinh Long Hai'],
    [1, 'Nguyen Tuan Anh']
  ];
  [$id, $name] = $arr[0];
  echo $id; //0
  echo $name; //Dinh Long Hai
?>

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
<?php
  class Member
  {
      const A = 1;
      public const B = 1;
      protected const C = 1;
      private const D = 1;
  }
?>

Đa Exception

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

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

  • Giờ đây chúng ta có thể sử dụng key cho hàm list() hoặc [ ] trong PHP 7.1
<?php
  $arr = [
    ['id' => 0, 'name' => 'Dinh Long Hai'],
    ['id' => 1, 'name' => 'Nguyen Tuan Anh'],
  ];
  list('id' => $id, 'name' => $name) = $arr[0];
  // or
  ['id' => $id, 'name' => $name] = $arr[0];
?>

Xem thêm

  • Ngoài ra còn một số chức năng mới nhưng ít được sử dụng. Bạn có thể tham khảo tại đây

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

  • session_create_id()
  • session_gc()

Còn khá nhiều function mới, chúng ta có thể xem thêm tại đây

Constants

  • CURLMOPT_PUSHFUNCTION
  • CURL_PUSH_OK
  • CURL_PUSH_DENY
  • FILTER_FLAG_EMAIL_UNICODE
  • MT_RAND_PHP

Ở đây mình chỉ giới thiệu một số constants chính, bạn có thể xem thêm một số khác tại đây

  • http://php.net/manual/en/migration71.new-features.php
  • https://www.cloudways.com/blog/whats-new-in-php-7-1/
Bài liên quan

Giới thiệu về HTTP (Phần 1)

Đây là bài hướng dẫn về HTTP, giao thức không trạng thái nằm bên dưới tất cả các trang web được dịch từ cuốn sách Introduction to HTTP xuất bản online bởi Launch School. Hướng dẫn này sẽ giúp người mới bắt đầu tìm hiểu cách thức hoạt động của các ứng dụng web và hiểu tại sao việc xây dựng các ứng ...

Vũ Văn Thanh viết 17:53 ngày 10/10/2018

Giới thiệu về PHP

PHP là gì? PHP là viết tắt của cụm từ "PHP: Hypertext Preprocessor" PHP là ngôn ngữ lập trình kịch bản (scripting language) mã nguồn mở miễn phí PHP được dùng để tạo ra các ứng dụng web chạy ở phía máy chủ (server) PHP là một trong những ngôn ngữ lập trình được sử dụng phổ biến trên thế ...

Hoàng Hải Đăng viết 13:41 ngày 07/09/2018

Giới thiệu về Linux và các bản phân phối

Có lẽ cụm từ “linux” đã không còn quá xa lạ với nhiều người. Xuất hiện nhiều lần trong tin tức và các bài viết nói về những phần mềm mã nguồn mở gần đây, thế nhưng không phải ai cũng thực sự hiểu và quan tâm đến “linux”. Chính vì vậy, mình viết bài này nhằm ...

Trịnh Tiến Mạnh viết 18:00 ngày 19/08/2018

Giới thiệu về Android Things 1.0

Ngày 7/5/2018, tại sự kiện Google I / O 2018 Google chính thức tung ra Android Things 1.0, nền tảng hoạt động trên các thiết bị IoT như loa thông minh, camera an ninh có kết nối Internet.. Mặc dù trước đó Android Things đã được Google giới thiệu tại Google I/O 2015 . Trải qua hơn 3 năm phát ...

Bùi Văn Nam viết 17:53 ngày 12/08/2018

Giới thiệu về Constraint Layout 1.1

Constraint Layout đơn giản hoá việc tạo các layout phức tạp trong Android bằng cách làm cho nó có thể xây dựng được hầu hết các UI của bạn với visual editor trong Android Studio. Nó thường được mô tả là mạnh mẽ hơn RelativeLayout. Với Constraint Layout, bạn có thể xây dựng các layout phức tạp mà ...

Bùi Văn Nam viết 17:42 ngày 12/08/2018
0