12/08/2018, 18:14

So sánh các phiên bản PHP: PHP 5 vs PHP 7

Nếu bạn không để ý về các phiên bản PHP hoặc bạn mới làm quen với lập trình PHP, bạn nên biết rằng trước PHP 7, PHP 5.6 đã từng là phiên bản ổn định. Khá ngạc nhiên khi nhiều người biết rằng các nhà phát triển tránh phát hành PHP 6 vì PHP 6 đã được ra để thử nghiệm nhưng nó không bao giờ thực sự là ...

Nếu bạn không để ý về các phiên bản PHP hoặc bạn mới làm quen với lập trình PHP, bạn nên biết rằng trước PHP 7, PHP 5.6 đã từng là phiên bản ổn định. Khá ngạc nhiên khi nhiều người biết rằng các nhà phát triển tránh phát hành PHP 6 vì PHP 6 đã được ra để thử nghiệm nhưng nó không bao giờ thực sự là một phiên bản ổn định. Vì PHP 6 tồn tại như một dự án thử nghiệm, các nhà phát triển không muốn gây nhầm lẫn cho cộng đồng với việc phát hành, vì thế họ đã trực tiếp lên version PHP 7. Rõ ràng, với việc phát hành PHP 7, mọi người bắt đầu so sánh nó với phiên bản trước của nó. Nếu bạn cũng là một người rất thích so sánh các phiên bản, hãy theo dõi sự so sánh chi tiết sau về sự khác biệt chính giữa PHP 5 và PHP 7 sẽ vô cùng hữu ích cho bạn.

Hiệu năng của PHP 5 và PHP 7 chính là điểm khác biệt chính. PHP là sức mạnh của kỹ thuật Zend, cái mã đã được tích hợp trước từ các phiên bản PHP 4. PHP 5 sử dụng Zend II nhưng đến phiên bản PHP 7 nó sử dụng kỹ thuật mới có tên gọi là PHP-NG (PHP Next Generation). Kỹ thuật mới này 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. Điều này đã được kiểm chứng bằng điểm chuẩn do cộng đồng cung cấp. Trên thực tế, kỹ thuật mới này cũng yêu cầu ít máy chủ hơn để phục vụ cùng số lượng người dùng như trước đây.

Trong PHP 5, lập trình viên không thể khai báo kiểu trả về của một hàm hoặc một phương thức. Đó thực sự là một nhược điểm lớn khi các lập trình viên không thể ngăn chặn được các kiểu trả về không mong muốn và sinh ngoại lệ. May mắn thay, PHP 7 cho phép các lập trình viên 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 kiểu trả về khác nhau - bool, int, string và float.

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;
    }
});

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             </div>
            
            <div class=

0