Có bất kỳ sự phản chiếu / nội quan / ma thuật nào trong PHP sẽ cho phép bạn tìm thấy tệp PHP nơi một lớp (hoặc hàm) cụ thể được xác định không?
Nói cách khác, tôi có tên của một lớp PHP, hoặc một đối tượng được khởi tạo. Tôi muốn chuyển điều này cho một cái gì đó (hàm, lớp Reflection, v.v.) sẽ trả về đường dẫn hệ thống tệp nơi lớp được xác định.
/path/to/class/definition.php
Tôi nhận ra rằng tôi có thể sử dụng ( get_included_files())
để lấy danh sách tất cả các tệp đã được đưa vào cho đến nay và sau đó phân tích cú pháp tất cả chúng theo cách thủ công, nhưng đó là rất nhiều quyền truy cập hệ thống tệp cho một lần thử.
Tôi cũng nhận ra rằng tôi có thể viết một số mã bổ sung trong cơ chế __autoload của chúng tôi để lưu trữ thông tin này ở đâu đó. Tuy nhiên, việc sửa đổi __autoload hiện có là không có giới hạn trong tình huống tôi nghĩ.
Nghe về các tiện ích mở rộng có thể làm được điều này sẽ rất thú vị, nhưng cuối cùng tôi muốn thứ gì đó có thể chạy trên cài đặt "cổ phiếu".