Sau khi PHP 5 ra mắt vào năm 2004 thì phải đến hơn một thập kỉ bản phát hành chính thức PHP 7 mới được ra mắt với hàng loạt tính năng mới. Nếu như các phiên bản nhỏ của PHP 5 mang lại nhiều tính năng thú vị cho PHP, bao gồm hỗ trợ lập trình hướng đối tượng và nhiều tính năng liên quan đến nó thì PHP 7 có nhiều sự thay đổi về cú pháp, bổ sung các thư viện hiện đại giúp ngôn ngữ PHP trở nênđa dạng hơn. Cùng điểm qua 5 đặc điểm mớ3 của PHP 7 để biết tại sao đây là phiên bản được cộng đồng PHP mong đợi nhất.
Contents
1. Cải thiện tốc độ.
Hiện tại codebase PHP của bạn sử dụng bộ nhớ ít hơn và hiệu suất đã được nâng cao. Với PHP 7, tốc độ được nâng cao ít nhất là 2 lần (cho dù là Framework hay CMS) so với phiên bản trước đó là PHP 5.6 và hoàn toàn có thể nhanh hơn nữa nhiều lần. Đặc biệt hiện có 25% các trang web đang chạy trên WordPress, đây là điều tuyệt vời cho tất cả mọi người.
Xem thêm: Chương trình soạn thảo PHP
2.Cho phép khai báo kiểu của biến (Type Declarations).
Nếu như trước đây PHP bị chê là ngôn ngữ không chặt chẽ (weak-typed language) thì với tính năng này bạn có thể sử dụng để ràng buộc biến vào một kiểu dữ liệu cụ thể nào đó giúp cho code của mình dễ đọc hơn. Với Type-declarations, lập trình viên được phép khai báo kiểu của biến thay vì để PHP tự động quyết định kiểu như trước kia.
Đây là một trong những đặc điểm được cộng đồng PHP mong chờ nhất. Vì sao vây? Đây là một trong những đặc điểm được cộng đồng PHP mong chờ nhất. Vì sao vây? Giống như các ngôn ngữ lập trình C, C++, Java,… PHP 7 đã bổ sung tính năng cho phép khai báo kiểu trả về của hàm, nếu kiểu trả về sai so với khai báo, nó sẽ sinh ra lỗi. Điều này giúp PHP 7 trở nên chặt chẽ hơn do các khai báo kiểu có thể giúp bạn xác định điều gì sẽ xảy ra để bạn có được kết quả mong đợi. Để chỉ định kiểu trả về cho hàm, bạn chỉ cần khái báo thêm dấu hai chấm và theo sau là kiểu trả về ngay sau tên hàm, trước dấu ngoặc nhọn, ví dụ như:
3.Toán tử mới
Ngoài các toán tử có sẵn thì trong PHP7 có bổ sung thêm nhiều toán tử mới lạ như: Spaceship Operator, Null Coalescing Operator.
Spaceship Operator(<=>)
Toán tử Spaceship là một bổ sung tuyệt vời của PHP để giải quyết một vấn đề rất hay gặp khi lập trình đó là so sánh 2 số. Toán tử này được kết hợp với nhau bằng ba toán tử riêng lẻ: nhỏ hơn, bằng và lớn hơn. Về cơ bản những gì PHP làm là kiểm tra từng nhà điều hành riêng lẻ. Thứ nhất, nhỏ hơn. Nếu giá trị ở bên trái thấp hơn giá trị ở bên phải, kết quả sẽ trả về -1. Nếu không, nó sẽ di chuyển để kiểm tra nếu giá trị ở bên trái là bằng với giá trị ở bên phải. Nếu vậy, kết quả sẽ trở lại 0. Nếu không nó sẽ chuyển sang toán tử cuối cùng. Nếu giá trị ở bên trái lớn hơn giá trị ở bên phải. Trong đó, nếu 2 trường hợp kia không qua được, điều này phải đúng. Và nó sẽ trở lại 1.
Toán tử này có cú pháp như sau:
Như phân tích ở trên ta sẽ có ba trường hợp xảy ra:
- Nếu $a > $b thì $result sẽ có giá trị là 1
- Nếu $a = $b thì $result sẽ có giá trị là 0
- Nếu $a < $b thì $result sẽ có giá trị là -1
Cách sử dụng phổ biến nhất cho toán tử này là sắp xếp và được thường sử dụng với kiểu số (int). Trong trường hợp bạn sử dụng kiểu chuỗi thì hệ thống sẽ dựa vào mã ASCII để lấy ra số của chuỗi đó.
Ví dụ:
Null Coalescing Operator (??)
Một toán tử mới khác là toán tử Null Coalesce, đây là toán tử dùng để thay thế cho hàm isset khi ta gán dữ liệu. Nó sẽ trả về toán hạng trái nếu nó không phải là NULL, nếu không nó sẽ trả về bên phải. Điều quan trọng là nó sẽ không tăng thông báo nếu toán hạng trái là một biến không tồn tại.
Xem thêm: Toán tử trong PHP
4. Bổ sung Anonymous Class
Với các phiên bản trước để khởi tạo mới một đối tượng thì bắt buộc ta phải khai báo class trước, điều này rất rõ ràng nhưng lại không đáp ứng được một số trường hợp trong thực tế, vì vậy Anonymous Classes ra đời.
Trong PHP 7 có thể sử dụng Anonymous Class giống như Anonymous Function.
5.Xóa đi một số extension
Tại bản PHP 7, một số extension không còn được hỗ trợ sẽ được xóa đi:
- ereg
- mssql
- mysql
- sybase_ct
Ngoài ra, một số extension mới được bổ sung thêm vào như:
- aolserver
- apache
- apache_hooks
- apache2filter
- caudium
- continuity
- isapi
- milter
- nsapi
- phttpd
- pi3web
- roxen
- thttpd
- tux
- webjames
Xem thêm: Lập trình Web với ngôn ngữ PHP
6. Tổng kết
Tóm lại, sự ra đời của PHP 7 một bước đột phá rất quan trọng bởi hiện nay có khá nhiều công nghệ ra đời với tốc độ xử lý nhanh nên PHP cần phải cạnh tranh rất nhiều mới giữ được vị trí của mình trên thị trường.