Điều này thực sự xuất phát từ một vấn đề WordPress cụ thể nhưng có một điểm PHP tổng quát hơn đằng sau nó mà tôi quan tâm để biết câu trả lời.Có thể thay thế một hàm trong lớp PHP không?
WordPress lớp nằm dọc theo những dòng này:
class Tribe_Image_Widget extends WP_Widget {
function example_function(){
// do something useful
}
}
Có cách nào trong PHP mà tôi có thể thay thế example_function()
từ bên ngoài lớp học?
Lý do tôi muốn làm điều này là lớp học từ plugin WP của người khác (và có nhiều chức năng trong lớp) và tôi muốn tiếp tục nhận cập nhật cho plugin nhưng tôi muốn một trong các chức năng được điều chỉnh. Nếu tôi thay đổi plugin, tôi sẽ mất tất cả các thay đổi của riêng mình mỗi lần. SO nếu tôi có plugin của riêng tôi mà chỉ thay đổi một chức năng, tôi tránh được vấn đề.
Bạn có thể đặt lớp gốc làm trừu tượng và đặt là metho d như một phương pháp trừu tượng? –
Lookup: http://stackoverflow.com/questions/2994758/function-overloading-and-overriding-in-php –
Tuyên bố trừu tượng chỉ sẽ ngăn chặn các lớp gốc từ được sử dụng trực tiếp và ông vẫn sẽ phải chỉnh sửa nó mỗi lần. – Narf