16 Oct 2017

Bài 07: Anonymous Classes trong PHP7

Trước đây để khởi tạo mới một đối tượng thì bắt buộc ta phải khai báo class trước, điều này rất rõ ràng nhưng lại không đáp ứng được một số trường hợp trong thực tế, vì vậy Anonymous Classes ra đời.

Để phân biệt class thông thường và Anonymous Class thì trước tiên chúng ta tìm hiểu cú pháp class thông thường đã nhé.

1. Tạo class các phiên bản trước PHP7

Dưới đây là một ví dụ tạo và sử dụng class trong các phiên bản trước PHP7.

Chạy ví dụ lên sẽ xuất hiện dòng chữ “Đây là động vật hoang dã! – freetuts.net“. Điều này quá bình thường rồi, nhưng bạn hãy xem ví dụ ở phần 2 dưới đây.

2. Anonymous Classes trong PHP7

Với ví dụ ở phần 1 trên thì mình sẽ viết lại dưới dạng Anonymous Class như sau:

Chạy lên kết quả cũng không thay đổi gì. Như vậy để khai báo một Anonymous Class thì ta dùng cú pháp sau:

3. Một số ví dụ Anonymous Class trong PHP7

Sau đây là một số ví dụ cách sử dụng Anonymous Class rất hay mà bạn nên biết.

Sử dụng là một tham số

Anonymous Class có kế thừa

Nếu bạn đã từng tìm hiêu qua Anonymous function trong jQuery hoặc trong PHP thì sẽ thấy nó rất dễ hiều.

4. Ưu điểm và nhược điểm của Anonymous Class

Ưu điểm: Việc sử dụng Anonymous Class cũng có những ưu điểm và nhược điểm. Cá nhân mình nhận thấy khi ban khởi tạo một Anonymous Class thì tốc độ xử lý sẽ nhanh hơn bởi bộ nhớ chỉ lưu trữ một lần cho class đó mà thôi. Ngoài ra chúng ta có thể tạo class một cách nhanh chóng không mất nhiều thời gian.

Nhược điểm: Việc sử dụng Anonymous Class chỉ dùng cho những trường hợp xử lý đơn giản bởi nó không có tính chất tái sử dụng, thứ hai nữa là khó nâng cấp và bảo trì đối với những thể loại này.

5. Lời kết

Như vậy một Anonymous Class thực chất là cách khai báo và sử dụng nhanh một class, khi sư dụng cách này bạn sẽ không có tính mở rộng mà chỉ mang tính chất sử dụng tạm thời, vì vậy phải cân nhắc khi sử dụng loại class này. Tuy nhiên trong một số trường hợp Anonymous Class lại được sử dụng vì tính nhanh gọn của nó.

Nguồn: freetuts.net

Leave a Reply

Chào Mừng Bạn Đến Coder Việt Nam

😀😀😀 Cùng học hỏi và chia sẽ kiến thức, kỹ năng lập trình phần mềm 😀😀😀

You have Successfully Subscribed!