Hướng đối tượng trong PHP: Một số hàm lấy thông tin

Hướng đối tượng trong PHP: Một số hàm lấy thông tin

PHP đã cung cấp một số hàm để chúng ta lấy thông tin của đối tượng, điều này sẽ giúp ích khi chúng ta làm việc với những mô hình lớn và sử lý những tính huống cần thiết. Bài viết này sẽ giới thiệu về các hàm như get_class, get_parent_class, get_class_vars, get_class_methods, get_object_vars.

get_class()

Hàm này sẽ trả về tên lớp của đối tượng, chúng ta sẽ xét đến 2 trường hợp là sử dụng bên trong lớp và bên ngoài lớp

Nếu sử dụng bên ngoài lớp thì đối số của hàm sẽ là đối tượng cần lấy thông tin

Nếu sử dụng bên trong lớp thì hàm có thể không cần đối số khi này hàm sẽ trả về tên lớp chứa nó, trường hợp nếu hàm sử dụng $this làm đối số thì hàm sẽ trả về tên lớp ở đối tượng nào gọi nó ví dụ ta gọi nó ở các lớp kế thừa thì hàm sẽ trả về tên lớp kế thừa. Xem ví dụ sau để hiểu rõ điều này:

class ParentClass{
    public function getClass1(){
      return get_class($this);
    }
    public function getClass2(){
      return get_class();
    }
}
class ChildClass extends ParentClass{}
$cc = new ChildClass();
echo get_class($cc); // ChildClass
echo $cc->getClass1(); // ChildClass
echo $cc->getClass2(); // ParentClass

get_class_methods()

Hàm sẽ trả về một mảng các phần tử là tên các phương thức của đối tượng, đối số của hàm có thể là đối tượng hoặc tên lớp.

get_class_vars()

Hàm sẽ trả về một mảng phần tử với index và value của từng phần tử là tương ứng với từng thuộc tính và giá trị trong lớp, đối số của hàm là chuỗi tên lớp.

get_object_vars()

Hàm này chức năng cũng tương tự như get_class_vars() tuy nhiên có sự khác biệt là hàm get_object_vars() có đối số là đối tượng nếu sử dụng ở ngoài lớp  và đối số là $this nếu sử dụng ở trong lớp, có một điểm khác biệt quan trọng nữa là get_class_vars() chỉ trả về những thuộc tính với giá trị mặc định trong lớp, get_object_vars thì trả về những thuộc tính với giá trị có thể được thay đổi bên ngoài lớp. Xem ví dụ sau để hiểu rõ điều này:

class ParentClass{
    public $name = 'Khuong Van Ngo';
}
class ChildClass extends ParentClass{}
$cc = new ChildClass();
$cc->name = 'Ngo Van Khuong';
print_r(get_class_vars('ChildClass'));  // Array([name] =>Khuong Van Ngo)
print_r(get_object_vars($cc)); // Array([name] =>Ngo Van Khuong)

get_parent_class()

Hàm trả về tên lớp cha của đối tượng, đối số là đối tượng nếu ở ngoài lớp, nếu trong lớp thì không cần đối số.

Bạn thấy bài viết này như thế nào?: 
Average: 6 (1 vote)
Ả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

 
www.zini.vn - mạng xã hội của VNG - Việt Nam

www.zini.vn - mạng xã hội của VNG - Việt Nam

Hôm qua 1/4 VNG đã cho ra mắt dịch vụ tiểu blog Zini, cạnh tranh đồng thời với Twitter, Facebook, Google+ và đối thủ tại Việt Nam là LinkHay của VCCorp.

5 Ứng dụng web có thể triển khai không cần code

Drupal Vietnam: 5 Ứng dụng web drupal có thể triển khai

Với những công cụ hỗ trợ ưu việt trong công nghệ ngày nay thì có và chạy được một site Drupal đầy đủ tính năng không còn gì là khó khăn nữa.

Bài 2 : Học sinh học điều Khiển nhân vật bằng bàn phím

Bài 2 : Học sinh học điều Khiển nhân vật bằng bàn phím

Bạn đã bước đầu hình dung thế nào là lập trình Scratch nhưng có lẽ bạn chưa chắc lắm có nên cho bé học lập trình hay không và Scratch nghĩa là gì. Hai điều này có liên quan với nhau.

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

 

Diet con trung