Niit - Ict Hà Nội » Tin tức » Tin tức công nghệ » Tìm hiểu về Static Function trong PHP
Tìm hiểu về Static Function trong PHP

Trong một số trường hợp nhất định, rất dễ để truy cập các phương thức và thuộc tính theo một class hơn là một object.

 

Điều này có thể được thực hiện với sự trợ giúp của từ khóa static. Bất kỳ phương thức nào được khai báo là tĩnh đều có thể truy cập mà không cần tạo đối tượng. Các hàm static được liên kết với class, không phải là một thể hiện của class. Chúng chỉ được phép truy cập các phương thức static và các biến static.

 

Để thêm một phương thức static vào class, chúng ta sử dụng từ khóa static. Dưới đây là cú pháp tạo hàm static trong PHP:

 

Cú pháp tạo hàm Stactic trong PHP

 

Cú pháp tạo hàm Stactic trong PHP

 

Chúng có thể được gọi trực tiếp bên ngoài class bằng cách sử dụng toàn tử (::) như sau:

 

Gọi hàm static trực tiếp bên ngoài class bằng toán tử ::

 

Gọi hàm static trực tiếp bên ngoài class bằng toán tử ::

 

Ví dụ về Static Function trong PHP

 

Ở ví dụ này chúng ta sử dụng Static Function làm bộ đếm

 

Ví dụ 1: Hàm static trong PHP

 

Ví dụ 1: Hàm static trong PHP

 

Kết quả chúng ta nhận được là:

 

Kết quả ví dụ 1 của hàm static trong PHP

 

Kết quả ví dụ 1 của hàm static trong PHP

 

Khi nào chúng ta cần định nghĩa phương thức stactic?

 

Từ khóa static được sử dụng trong ngữ cảnh của các biến và phương thức chung cho tất cả các đối tượng của class. Do đó, bất kỳ logic nào có thể được chia sẻ giữa nhiều phiên bản của một class nên được trích xuất và đặt bên trong phương thức stactic.

 

Các phương thức static trong PHP thường được sử dụng nhất khi chúng ta làm việc với các class của PHP Framework như Lavarel hay Cache PHP.

 

Dưới đây là mã PHP cho thấy việc sử dụng các phương thức static.

 

Ví dụ 2: Sử dụng phương thức static trong PHP

 

Ví dụ 2: Sử dụng phương thức static trong PHP

 

Kết quả chúng ta nhận được:

 

Kết quả của ví dụ sử dụng phương thức static trong PHP

 

Kết quả của ví dụ sử dụng phương thức static trong PHP

 

Tuy nhiên, một phương thức static không cho phép bạn đinh nghĩa rõ ràng sự phụ thuộc và includes global variables trong mã có thể được truy cập từ bất cứ đâu.

 

Điều này có thể ảnh hưởng đến khả năng mở rộng của một ứng dụng. Hơn nữa, bạn sẽ có khó để thực hiện auto test trên các class có chứa các phương thức static. Do đó, được sử dụng trong trường hợp cụ thể, không lạm dụng.