PHP 5 vs PHP 7 có gì khác nhau
NỘI DUNG BÀI VIẾT
Chúng ta đã nghe nhiều về PHP 5.6, PHP 7.2,.. Vậy giữa 2 phiên bản PHP 5 vs PHP 7 có gì khác nhau ? Cùng tìm hiểu nhé.
Hiệu năng
Hiệu năng của PHP 5 và PHP 7 chính là điểm khác biệt chính. PHP 4 và PHP 5 sử dụng ZEND 2 nhưng sang đến phiên bản PHP 7 nó lại sử dụng kỹ thuật mới có tên gọi là PHP-NG (PHP Next Generation). Kỹ thuật này giúp cải thiện hiệu suất nhiều gấp hai lần với mức sử dụng bộ nhớ được tối ưu hóa.
Kiểu trả về
PHP 5, lập trình viên không được phép khai báo kiểu trả về của một hàm hoặc một phương thức.
PHP 7 cho phép các lập trình viên được khai báo kiểu trả về của các hàm theo giá trị trả về mong muốn. Điều này chắc chắn sẽ làm cho code trở nên chính xác hơn. Có bốn loại kiểu trả về khác nhau đó là: bool, int, string và float.
Lớp vô danh PHP 7
Một trong những điểm mới được thêm vào trong PHP 7 mà không được hỗ trợ trong PHP 5 chính là các lớp vô danh.
Mặc dù PHP có cách tiếp cận hướng đối tượng từ PHP 5 nhưng nó thiếu tính năng này, một trong những tính năng rất phổ biến trong các ngôn ngữ hướng đối tượng phổ biến khác như Java và C #.
Một lớp vô danh được sử dụng để tăng tốc thời gian thực thi. Nó phù hợp khi bạn không cần thực hiện một lớp nhiều hơn một lần và bạn không cần phải ghi lại nó.
<?php
// Pre PHP 7 code
class Logger
{
public function log($msg)
{
echo $msg;
}
}
$util->setLogger(new Logger());
// PHP 7+ code
$util->setLogger(new class {
public function log($msg)
{
echo $msg;
}
});
Toán tử mới PHP 7
PHP7 giới thiệu một toán tử mới (<=>) gọi là toán tử so sánh kết hợp. Nó có thể được sử dụng chủ yếu trong phân loại và so sánh kết hợp. Nó hoạt động như strcmp () hoặc version_compare (). Nếu bạn đã từng sử dụng ngôn ngữ Perl và Ruby chắc hẳn không còn xa lạ với toán tử này
Xử lý lỗi
Nếu bạn hiểu sự khác biệt giữa lỗi và ngoại lệ, bạn biết rằng rất khó xử lý các lỗi nghiêm trọng trong PHP 5 thì PHP 7 đã giảm bớt quá trình vì nó đã thay thế một số lỗi lớn với các ngoại lệ có thể được xử lý dễ dàng. Điều này đã đạt được với sự ra đời của các đối tượng Engine Exception mới.
Leave a Reply