Cómo cambiar el nombre o sobrescribir la función de php?

¿Cómo puedo redefinir una función en PHP con runkit?

$helloWorld = 'echo "Call require_once";';
runkit_function_redefine('require_once', '$word', $helloWorld);
require_once("abc.php");

me propuse en php.ini

runkit.internal_override=1

cuando corro, muestra:

Warning: runkit_function_redefine() [function.runkit-function-redefine]: require_once() not found in hhd_debug.php on line 2

Warning: require_once(abc.php) [function.require-once]: failed to open stream: No such file or directory in hhd_debug.php on line 3

Fatal error: require_once() [function.require]: Failed opening required 'abc.php' (include_path='.;xampp\php\PEAR') in hhd_debug.php on line 3

¿Cómo puedo arreglarlo? ¡por favor, ayúdame!

2
Utilice un generador de perfiles como xdebug en lugar de atornillar con el idioma en sí, lo que sesgará sus resultados de todos modos.
agregado el autor deceze, fuente
Puede ir por override_function ( php.net/manual/en/function.override- function.php ) en su lugar si esto sirve para su propósito.
agregado el autor sushil, fuente
soy el código joomla óptimo para redes sociales y economía electrónica. Entonces, necesito comparar el resultado después de óptimo (tiempo de ejecución y tamaño). en joomla incluyen bastante más archivos, por lo que necesito evaluar cada archivo antes y después incluido
agregado el autor Mr Jerry, fuente
deceze y Clancy Hood son correctos, require_once no es función, es declaración, por lo que no puedo sobrescribirlo. intenté xdebug antes, pero no es útil por ahora. Voy a escribir un temporizador de clase para calcular el tiempo de ejecución, obtener todos los archivos incluidos y eliminarlo si no es necesario para la red social y la economía electrónica. ¿Alguna otra idea para eso?
agregado el autor Mr Jerry, fuente
Esto se debe a que su cadena de ruta ( include_path = '. Xampp \ PHP \ PEAR' ) es errónea
agregado el autor hjpotter92, fuente
require_once es probablemente una construcción de lenguaje (como "unset" y "list") en lugar de una función, y probablemente sea imposible sobrescribirlo. ¿Por qué quieres anularlo? ¿Que estás tratando de hacer? Ver php.net/manual/en/language.oop5.autoload.php para una forma clara de incluir archivos
agregado el autor Clancy Hood, fuente
Ordenado. Entonces, ¿quieres optimizar Joomla y asegurarte de que solo está cargando los scripts que usa? No es una persona de Joomla, pero supongo que esto podría tener consecuencias problemáticas: considere dejar solo a Joomla y usar un caché de código de operación en. wikipedia.org/wiki/List_of_PHP_accelerators
agregado el autor Clancy Hood, fuente

1 Respuestas

Supongo que esto no funciona porque require_once es una construcción de lenguaje, no una función.
No sé si hay alguna otra posibilidad de anularlo, creo que no.

6
agregado
PHP - Comunidad española
PHP - Comunidad española
9 de los participantes

Enlace para invitaciones: https://t.me/joinchat/B2gdShUFvCner-RgqRF43A En este grupo hablamos de PHP. Partner: es.switch-case.com