Có cách nào, trong PHP, để gọi các phương thức từ một lớp cha bằng cách sử dụng đối số tùy ý call_user_func_array
? Về cơ bản, tôi muốn viết một chút mã soạn sẵn, trong khi hơi kém tối ưu, sẽ cho phép tôi gọi phụ huynh đến một phương thức tùy tiện như thế này:Sử dụng call_user_function để truy cập vào phương thức cha trong PHP
function childFunction($arg1, $arg2, $arg3 = null) {
// I do other things to override the parent here...
$args = func_get_args();
call_user_func_array(array(parent, __FUNCTION__), $args); // how can I do this?
}
Đây có phải là một hack lạ? Ừ. Tôi sẽ sử dụng bản mẫu này ở nhiều nơi, mặc dù, có thể có lỗi trong việc sao chép phương thức args đúng cách, do đó, sự cân bằng là ít lỗi hơn tổng thể.
Tôi cá rằng việc xây dựng như thế này sẽ dễ gây ra lỗi hơn, bởi vì 'call_user_func_array' và bạn bè có phần kỳ diệu. Một cái gì đó nói với tôi có lẽ là một giải pháp tốt hơn, nhưng vấn đề không đủ rõ ràng để tôi nhìn thấy nó. – Kris