PHP - Có gì mới trong PHP 7

Lập trình website

PHP - Có gì mới trong PHP 7 (Ngày đăng: 01/03/2016 - Lượt xem: 175)

Phiên bản stable PHP hiện nay đang được sử dụng là phiên bản PHP 5.6. Sau một số tranh luận thì nhóm phát triển đã quyết định họ sẽ bỏ qua tên phiên bản PHP 6. PHP 6 đã tồn tại trong quá khứ như một dự án thử nghiệm, nhưng vì lý do nào đó chưa hoàn chỉnh.

Để tránh việc người dùng sẽ bị lẫn lộn giữa phiên bản thử nghiệm trước đó và bản phát triển mới nhất này, thì bản phát hành mới sẽ mang tên PHP 7.

1. Core Zend Engine hoàn toàn mới

Zend engine đã tạo ra sức mạnh cho PHP từ năm 1999 khi nó được giới thiệu với bản phát hành mới PHP 4. Zend - bạn đừng nhầm lẫn với Zend Framework - là một engine thực thi mã nguồn mở được viết bằng C để thông dịch ngôn ngữ PHP. Loạt PHP 5.X hiện tại sử dụng Zend Engine II tăng cường chức năng của engine ban đầu, bổ sung thêm một mô hình đối tượng mở rộng và nâng cao hiệu suất thực thi đáng kể cho ngôn ngữ này.

PHP 7 có một phiên bản engine hoàn toàn mới có tên gọi là PHP#NG (Next Generation).

 

2. Tốc độ nhanh gấp hai lần

Ưu điểm dễ nhận biết nhất của engine mới PHPNG là sự cải thiện hiệu suất đáng kể. Đội ngũ phát triển của PHPNG đã tái cấu trúc Zend Engine, đáng chú ý là tối ưu hóa việc sử dụng bộ nhớ và bổ sung thêm một bộ biên dịch just-in-time (JIT) cho phép biên dịch vào thời điểm chạy chứ không phải trước khi thực hiện.

Kết quả thu được ra sao? Bạn có thể thấy bảng so sánh tốc độ thực thi như hình dưới đây được cung cấp bởi Zend Performance Team. Bằng cách sử dụng PHP 7 không chỉ giúp code của bạn thực thi nhanh hơn mà bạn cũng sẽ cần ít máy chủ hơn để phục vụ cùng một số lượng user.
 

3. Quản lý lỗi dễ dàng hơn

Ít nhất cũng phải nói rằng, việc kiểm soát và có khả năng bắt các fatal error chưa bao giờ là công việc dễ dàng đối với các lập trình viên PHP. Engine Exceptions mới sẽ cho phép bạn thay thế những loại lỗi này với các ngoại lệ (exception). Nếu ngoại lệ không bắt được thì PHP sẽ tiếp tục trả về các fatal error giống như các phiên bản PHP 5.X hiện hành.

Các đối tượng EngineException mới không mở rộng Exception Base Class. Điều này đảm bảo khả năng tương thích ngược và các kết quả từ hai kiểu exception khác nhau trong việc quản lý lỗi: truyền thống và engine exceptions.

Để cho phép các lập trình viên có thể bắt được cả hai, PHP 7 giới thiệu một Parent Class mới dưới cái tên là BaseException.

 

<