php

Hướng dẫn dùng instanceof trong PHP

Học viện đào tạo trực tuyến Thứ Hai, 20 tháng 6, 2016

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[]

2 class ChildClass extends ParentClass{}

4 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

1 $s = new ArrayIterator[];

2 if[$s instanceof iterator]{

3     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.

instanceof trong php


Result [CLI, 5.4.4]:

use of test[] method
Foo
Bar
instanceof Foo
bool[true]
bool[true]
instanceof Bar
bool[false]
bool[true]
subclass of Foo
bool[false]
bool[true]
subclass of Bar
bool[false]
bool[false]

Topics: Công nghệ mới Lập trình PHP

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.

Chủ Đề