12/08/2018, 18:04

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

PHP đã xuất hiện từ hơn 20 năm trước và đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Để có được vị thế như bây giờ, PHP đã trải qua rất nhiều các phiên bản cập nhật, thay đổi liên tục ngày càng hoàn thiện hơn. Hôm nay mình muốn điểm lại một trong những bản cập nhật ...

PHP đã xuất hiện từ hơn 20 năm trước và đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Để có được vị thế như bây giờ, PHP đã trải qua rất nhiều các phiên bản cập nhật, thay đổi liên tục ngày càng hoàn thiện hơn. Hôm nay mình muốn điểm lại một trong những bản cập nhật đáng chú ý của PHP cho các lập trình viên đó là bản cập nhật từ PHP 4 lên PHP 5. Bản PHP 5 đã khắc phục điểm yếu về khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML trong bản PHP 4

1. Object Model

  • Truyền tham chiếu
  • Class Constants and Static Methods/Properties
  • Visibility
  • Thống nhất lại hàm tạo và hàm hủy
  • Abstrac Class và Interface
  • Magic Methods
  • Finality
  • __autoload function

2. Giới thiệu về các thư viện chuẩn PHP (Standard PHP Library (SPL))

3. Các tính năng và cập nhật khác

  • Type Hinting
  • Exceptions
  • E_STRICT Error Level
  • Các extension mới
  • Các hàm mới
  1. Các vấn đề về tương thích

Object Model đã được giới thiệu trong PHP 4, nhưng nó đã được làm lại để hoàn thiện hơn trong phiên bản PHP 5. Dưới đây là một vài cập nhật mới của nó

1.1. Truyền tham chiếu

Đây là một trong những điểm mới và quan trọng nhất trong phiên bản PHP 5. Nếu như bản PHP 4 mọi thứ bao gồm cả Object đều truyền tham trị. Truyền tham chiếu trong Object như thế nào bạn có thể tham khảo trong bài viết

Xét đoạn mã trong PHP 4

$pObject1 = new Object(); 
$pObject1->setName('Adam'); 
$pObject1->setAddress('https://framgia.com/'); 

$pObject2 = new Object(); 
$pObject2->setName('Karl'); 
$pObject2->setAddress('https://framgia.com/');

Nếu như trong PHP 4, bạn muốn tạo bản sao của một đối tượng, bạn phải copy và gán giá trị của mới của nó vào. Trong PHP 5, bạn có thể thực hiện nó một cách đỡ giản hơn rất nhiều bằng việc sử dụng "clone". Điều đó có nghĩa là bạn cũng không còn cần sử dụng toán tử tham chiếu (&) trong code nữa Ví dụ sau sẽ tạo bản sao một đối tượng như trên

$pObject1 = new Object(); 
$pObject1->setName('Adam'); 
$pObject1->setAddress('https://framgia.com/'); 
$pObject2 = clone $pObject1; 
$pObject2->setName('Karl');

Bạn có thể dễ dàng thay đổi các trường bạn muốn thay đổi như chỉ name

1.2. Class Constants and Static Methods/Properties

PHP 5 giúp bạn có thể tạo các "class constants" (các hằng số trong lớp) cái mà hoạt động giống như các hằng số được định nghĩa nhưng nó bị giới hạn trong lớp đó và được truy cập bằng "::". Hãy nhớ rằng giá trị hằng số này cần phải gán một giá trị chứ không được gán cho một biến hay kết quả trả về của một hàm

Xét ví dụ sau về class constants trong một lớp

class MyClass
{
   const constant = 'constant value';

   function showConstant() {
       echo  self::constant . "
";
   }
}

Các phương thức và thuộc tính tĩnh cũng là điểm đổi mới trong PHP 5. Khi bạn tạo một thành phần tĩnh trong lớp đó, nó hoàn toàn có thể được truy cập thông qua lớp với cú pháp "::" mà không cần khởi tạo một đối tượng để truy cập

1.3. Visibility

Từ PHP 5, PHP mới thêm các visibility cho các lớp và các thuộc tính, đó là public, private, protected. Cái này chắc không cần giải thích nữa vì các bạn nắm quá rõ 3 visibility này trong môn OOP rồi             </div>
            
            <div class=

0