Vài điều bạn cần biết PHP 7

Nếu đang đọc bài viết này, bạn ắt hẳn là một lập trình viên hoặc một chủ website nào đấy. Vậy website của bạn hiện có đang tích hợp một số CMS như WordPress, Drupal, Joomla hay Magento? Nếu vậy thì đây sẽ là một tin tốt cho bạn với bản beta PHP 7 hoàn chỉnh  vừa được phát hành cách đây không lâu. Được biết, nó sẽ chứa đựng rất nhiều chức năng thú vị mà chúng tôi quyết định viết cả một bài về nó. Nhưng trước hết hãy cùng lướt qua một số lưu ý như sau.

Hãy nhớ rằng, PHP 7 vẫn đang trong giai đoạn phát triển, vì vậy hãy khoan sử dụng nó cho đến khi bản chính thức được phát hành hoàn chỉnh. Ngoài những điều đó ra, bạn hoàn toàn có thể thử qua để trải nghiệm một số điều mới mẻ mà PHP 7 hứa hẹn sẽ đem lại.

1. Tên nó là PHP 7 chứ không phải 6

Bản PHP gần nhất là PHP 5.6. Sau một vài quyết định nhỏ, đội ngũ phát triển quyết định bỏ qua PHP 6 như một sự thử nghiệm không thành của những dự án trước và lên thẳng PHP 7. Điều này giúp họ tránh được những vấn để về sản phẩm mà lần trước họ đã gặp phải. Đây được coi như một sựu khởi đầu hoàn toàn mới cho lần ra mắt này.

2. Zend Engine hoàn toàn mới

Zend là một engine đã và đang giúp PHP vận hành mượt mà kể từ năm 1999, khi nó được giới thiệu lúc ra mắt PHP 4. Xin đừng nhầm lẫn với Zend Framework, vì nó chỉ là một engine nguồn mở viết trên C để chuyển ngữ trên PHP. Phiên bản PHP 5.X hiện tại dùng Zend Engine II được cải thiện các chức năng bân trong và bổ sung thêm mô hình đối tượng mở rộng nhằm nâng cao hiệu suất đáng kể cho các ngôn ngữ.

Bản PHP 7 nhận được một phiên bản engine hoàn toàn mới với tên gọi rất kêu PHP#NG

3. Tăng tốc độ gấp đôi

Một trong những tính năng vượt trội nhất của PHPNG chính là sự cải thiện về hiệu suất vận hành. Đội ngũ phát triển của PHPNG đã tái cơ cấu Zend để có thể tối ưu hoá bộ nhớ cho phép các thuật toán được thực hiện ngay trong thời gian chạy chứ không phải trước khi thực hiện như ngày xưa.


Kết quả? Sử dụng PHP 7 không chỉ giúp các dòng code được thực hiện hoá nhanh hơn mà còn giúp bạn tốn ít server hơn trên cùng một lưu lượng người dùng.

4. Xử lý lỗi sẽ dễ dàng hơn

Cho đến thời điểm này, việc xử lý các lỗi nghiêm trọng chưa bao giờ là dễ hơn đối với các lập trình viên PHP. Hệ thống Engine Exceptions mới sẽ giúp bạn có thể thay thế các lỗi này với các exception, nếu không phát hiện được các exception, PHP sẽ tiếp tục trở về lỗi trầm trọng này, đây chính là những điều đang xảy ra trên những phiên bản 5.X

Với Engine Exception mới, các đối tượng sẽ 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à kết quả ra hai loại exception khác nhau của việc xử lý lỗi.

Để các lập trình viên có thể xử lý vấn đề đó dễ dàng hơn, PHP 7 đưa đến một giải pháp chia sẻ Parent Class dưới tên tên của Base Exception.

5. Hệ thống hỗ trợ 64-Bit Windows.

PHP hiện đang là một thành viên chủ lực của LAMP stack điều này có nghĩa là môi trường của nó sẽ tương thích với Linux – mặc dù vậy nó vẫn có thể chạy trên hệ thống Windows. Phiên bản 5.X vẫn chưa thật sự hỗ trợ bản 64-bit, cho đến khi x64 được xây dựng hoàn chỉnh, tất cả các bản builds hiện vẫn đang trong quá trình hoàn thiện.

PHP 7 sẽ làm thay đổi mọi thứ khi giới thiệu hệ thống hỗ trở cả 64-bit và các tập tin lớn, điều này giúp bạn có thể tự tin sử dụng ngôn ngữ này trên hệ điều hành Windows của mình

6. Bộ vận hành Spaceship và Null Coalescing

Spaceship Operator được chạy dưới tên là Combined Comparison Operator. Các ký hiệu của nó sẽ trông như thế này < = > ( nhìn khá giống hình ảnh của một chiếc phi thuyền)

Spaceship operator sẽ trả về 0 nếu cả 2 toán hạng bằng nhau, về 1 nếu bên trái lớn hơn và -1 nếu bên phải lớn hơn. Đây cũng được gọi là operator với 3 đường so sánh khác nhau. Thật ra điều này đã và đang tồn tại ở các ngôn ngữ lập trình khác như Perl hay Ruby.



Null Coalescing operator sẽ thể hiện bằng hai dấu chấm hỏi (??). Bạn có thể dùng nó để kiểm tra xem những thứ đang tồn tại để trả về giá trị mặc định. Coalesce operater còn trả về kết quả của toán hạng đầu tiên nều nó có giá trị, và các toán hạng thứ hai trong các trường hợp khác.

7. Cho phép khai báo chính xác loại.

Có bao giờ bạn muốn ngăn chặn việc trả lại các giá trị không mong muốn băng cách khai báo loại hàm trả lại? PHP 7 đã cái tiến chất lượng của code giúp các lập trình viên khá nhiều trong việc khai báo kiểu trả về nhóm kiểu dữ liệu vô hướng (return type declarations).

Hình ảnh dưới đây sẽ miêu tả một cách đơn giản mà hàm foo() dùng để return mảng array.

Để nâng cao tính năng hơn nữa, PHP 7 giới thiệu 4 loại khai báo mới dành cho Nhóm kiểu dữ liệu vô hướng như: int, float, string và bool. Nhóm kiểu dữ liệu vô hướng cho phép lập trình viên có thể chỉ ra được những thứ mà họ đang trông đợi như integers, floats, strings hay booleans được trả về. Nhóm kiểu dữ liệu vô hướng này còn hỗ trợ các đối số Tupe Hints cho phép họ có thể đưa ra các tham số kể từ PHP 5.X series.

8. Bổ sung Class ẩn danh

PHP 7 cho phép bạn dùng các Class ẩn danh. Đây là một cơ hội thực hành tốt trên các ngôn ngữ hướng đối tượng như C# và Java. Một class ẩn danh là một class không có tên. Đối tượng mà nó đại diện có cùng chức năng với một class có tên.

Cú pháp của nó giống như những gì chúng ta thường dùng trong các class truyền thống của PHP, chỉ có tên là không còn nữa. Nếu các class ẩn danh được sử dụng tốt, nó có thể tăng tốc độ lập trình lên gấp nhiều lần.

9. Tạo điều kiện import trong cùng namespace.

Nhóm dữ liệu vô hướng sẽ có được gửi đến những ai muốn import nhiều class vào cùng một namespace. Cú pháp mới cắt giảm sự rườm rà, giúp cho code của bạn gọn gàng và dễ nhìn hơn rất nhiều. Điều này sẽ giúp cho quá trình debug code được dễ dàng hơn.

10. Làm sạch phòng ốc

Mục tiêu của PHP 7 là giúp giải phóng “mặt bằng" nhằm cải thiện độ hiệu quả, vì vậy nó cần phải bỏ đi những chức năng cũ không cần thiết và không hỗ trợ server APIs và các extensions. Nếu bạn muốn xem thêm chi tiết thì có thể tham khảo thêm tại đây.


Có rất nhiều chức năng đã từng bị bỏ đi từ hồi PHP 5, vì vậy phần lơn các lập trình viên không sử dụng chúng trong một thời gian dài. Tuy nhiên, hãy nhớ rằng nếu bạn có những ứng dụng đang chạy PHP phiên bản cũ, bản PHP 7 có thể sẽ phá vỡ cấu trúc code của nó.

Post a Comment

Mới hơn Cũ hơn