Hướng đối tượng trong PHP: kiểm tra đối tượng

Hướng đối tượng trong PHP: kiểm tra đối tượng

Trong một số trường hợp bạn cần phải kiểm tra lớp cha hoặc lớp của một đối tượng nào đó, PHP cung cấp hai cách cơ bản là dùng hàm is_a() và sử dụng từ khóa instanceof, kết quả trả về là true/false.

Để kiểm tra phương thức có tồn tại không ta có hàm method_exists(), hàm này có đối số thứ nhất là đối tượng, đối số thứ hai là tên phương thức cần kiểm tra, kết quả trả về là true/false.

Để kiểm tra thuộc tính có tồn tại không ta có hàm property_exists(), hàm này có đối số thứ nhất là đối tượng, đối số thứ hai là tên thuộc tính cần kiểm tra, kết quả trả về là true/false.

Cần chú ý rằng nếu sử dụng 2 hàm method_exists() và property_exists() bên ngoài lớp thì phương thức hoặc thuộc tính cần kiểm tra phải có phạm vi là public.

Sau đây sẽ là ví dụ về cách sử dụng hàm is_a() và instanceof.

is_a()

class ParentClass{}
class ChildClass extends ParentClass{}
$cc = new ChildClass();
if(is_a($cc,ChildClass)){echo 'true';}else{echo 'false';}

Hàm is_a() có 2 đối số là đối tượng và tên lớp muốn kiểm tra, tên lớp trong hàm không phân biệt kiểu viết hoa hay thường.

instanceof

$s = new ArrayIterator();
if($s instanceof iterator){
    echo 'co nguon goc tu iterator';
}

instanceof có chức năng cũng tượng tự như hàm is_a() chỉ có sự khác biệt là instanceof có thể kiểm tra được interface còn is_a() thì không.

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 9 (2 votes)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Làm phim quảng cáo viral – Xu hướng phim quảng cáo thời mạng xã hội

Làm phim quảng cáo viral – Xu hướng phim quảng cáo thời mạng xã hội

Làm phim quảng cáo (TVC) muốn bắt kịp kỷ nguyên mạng xã hội với  “Like, Share, Comment”, thì cần thấu hiểu hành vi người tiêu dùng. Thấu hiểu, nắm bắt thị trường, xu hướng xã hội…

Google - Đằng sau lợi nhuận khổng lồ?

Google - Đằng sau lợi nhuận khổng lồ?

Là một trong những tập đoàn công nghệ hùng mạnh thế giới, mỗi năm Google thu được lợi nhuận khổng lồ bằng cách chi phối những gì chúng ta tìm kiếm nhờ vào độ phủ sóng rộng lớn trên Internet.

Cách làm việc như thế nào giữa Drupal 8 và Vue.js không cần jQuery

Cách làm việc như thế nào giữa Drupal 8 và Vue.js không cần jQuery

Starting with the 5th version, Drupal has jQuery out of the box. It was an awesome tool for developers. But nowadays we face completely different problems that this library can not solve.

Công ty diệt chuột T&C

 

Diet con trung