tôi đã thách thức làm thế nào để phá vỡ hoặc thực hiện cuối của một hàm cha mẹ mà không sửa đổi mã của phụ huynh, sử dụng PHPBreaking một hàm cha mẹ từ bên trong một hàm con (PHP Ưu tiên sử dụng)
tôi không thể tìm ra bất kỳ giải pháp, khác hơn là chết(); trong đứa trẻ, mà sẽ kết thúc tất cả thực hiện, và vì vậy bất cứ điều gì sau khi cuộc gọi chức năng cha mẹ sẽ kết thúc. Bất kỳ ý tưởng? Ví dụ
mã:
function victim() {
echo "I should be run";
killer();
echo "I should not";
}
function killer() {
//code to break parent here
}
victim();
echo "This should still run";
http://php.net/register_tick_function - các chức năng đánh dấu là tối nghĩa, có thể là những cơn ác mộng về hiệu suất và một số tài liệu kém. Nhưng chúng cho phép bạn thực hiện có hiệu quả một hàm mà bạn chọn mỗi câu lệnh n. Có nghĩa là chức năng đánh dấu của bạn có thể thực hiện ở giữa việc thực hiện bất kỳ chức năng nào khác. –
@Frank Tôi sẽ quan tâm làm thế nào mà có thể trở thành một giải pháp cho "vấn đề" này. Bằng mọi cách, ai đó đăng câu trả lời, làm ơn! :) – deceze
Đối với hồ sơ, [runkit_function_redefine()] (http://us3.php.net/manual/en/function.runkit-function-redefine.php) không thích nó khi bạn xác định lại chức năng hiện đang chạy . :) –