fui desafiado cómo romper o ejecución final de una función madre sin modificar el código de la matriz, usando PHPRompiendo una función madre dentro de una función niño (PHP Preferiblemente)
No puedo imaginar ninguna solución, distinto de die(); en el niño, lo que pondría fin a toda ejecución, por lo que cualquier cosa después de la llamada a la función principal terminaría. ¿Algunas ideas? ejemplo
código:
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 - las funciones tic son oscuras, probablemente pesadillas de rendimiento, y algo mal documentadas. Pero te permiten ejecutar efectivamente una función de tu elección cada n declaraciones. Lo que significa que su función tic se podría ejecutar en el medio de la ejecución de cualquier otra función. –
@Frank Me interesaría saber cómo se podría convertir eso en una solución para este "problema". Por supuesto, alguien publique una respuesta, por favor! :) – deceze
Para el registro, [runkit_function_redefine()] (http://us3.php.net/manual/en/function.runkit-function-redefine.php) no le gusta cuando redefine una función actualmente en ejecución . :) –