Hướng dẫn reflectionobject php - đối tượng phản chiếu php

Reflection là gì?

Ngắn gọn nhất thì có thể nói Reflection cung cấp khả năng phân tích cấu trúc bên trong một class bao gồm các: method, property, const, comment và thay đổi [modify] chúng.

Nó dùng để làm gì?

Thật ra là mình cũng ít [không] khi nào dùng đến cái này lắm, nhưng qua tìm hiểu thì thấy nó khá là hữu ích, có thể thay đổi cách làm 1 số chuyện của mình.

Ví dụ đọc code của ai đó mà không biết cái biến này là gì, 1 object hay 1 số, 1 string thì có thể dùng hàm cơ bản của PHP là

class User {

    protected function getUsername[]
    {
        //....
    }

    public function __get[$param]
    {
        $method = 'get' . ucfirst[$param];

        if [method_exists[$this, $method]] {
            return $this->{$method}[];
        }
    }
}
8 và
class User {

    protected function getUsername[]
    {
        //....
    }

    public function __get[$param]
    {
        $method = 'get' . ucfirst[$param];

        if [method_exists[$this, $method]] {
            return $this->{$method}[];
        }
    }
}
9.

Tiếp theo là chúng ta có thể sử dụng Reflection để tạo tài liệu bằng cách get comment của 1 class nào đó, rồi kiểm tra từng method, constructor và class đó để xác định những gì diễn ra đối với đầu vào và đầu ra.

Các hàm Reflection thông dụng

Ví dụ ta dùng

class User {

    protected function getUsername[]
    {
        //....
    }

    public function __get[$param]
    {
        $method = 'get' . ucfirst[$param];

        if [method_exists[$this, $method]] {
            return $this->{$method}[];
        }
    }
}
8 và

Bài Viết Liên Quan

Chủ Đề