Wie kann ich die PHP-Funktion umbenennen oder überschreiben?

Wie kann ich eine Funktion in PHP mit Runkit neu definieren?

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

Ich habe sie in php.ini gefunden

runkit.internal_override=1

wenn ich renne, zeige es:

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

Wie kann ich es reparieren? Bitte hilf mir!

2
hinzugefügt
Ansichten: 1
Verwenden Sie einen Profiler wie xdebug, anstatt mit der Sprache selbst zu verschrauben, was Ihre Ergebnisse sowieso verzerrt.
hinzugefügt der Autor deceze, Quelle
Sie können für override_function gehen ( php.net/manual/en/function.override- function.php ), wenn dies Ihrem Zweck dient.
hinzugefügt der Autor sushil, Quelle
Ich bin optimaler Joomla Code für Social Network und Economy Electronic. Also, ich muss das Ergebnis nach dem Optimum vergleichen (Laufzeit und Größe). in joomla enthalten ziemlich viele dateien, so brauche ich eine prüfung jeder datei vor und nach enthalten
hinzugefügt der Autor Mr Jerry, Quelle
deceze und Clancy Hood sind korrekt, require_once ist keine Funktion, es ist eine Anweisung, also kann ich sie nicht überschreiben. Ich habe vorher xdebug ausprobiert, aber es ist nicht nützlich für jetzt. Ich schreibe eine Klasse timmer zur Berechnung Zeit laufen, alle Dateien enthalten, und entfernen Sie es, wenn es nicht für soziale Netzwerke und Wirtschaft elektronische benötigen. Irgendeine andere Idee dafür?
hinzugefügt der Autor Mr Jerry, Quelle
Dies liegt daran, dass Ihre Pfadzeichenfolge ( include_path = '; xampp \ PHP \ PEAR' ) irrelevant ist
hinzugefügt der Autor hjpotter92, Quelle
require_once ist wahrscheinlich ein Sprachkonstrukt (wie "unset" und "list") anstelle einer Funktion und ist wahrscheinlich nicht zu überschreiben. Warum möchtest du es außer Kraft setzen? Was versuchst du zu machen? Siehe php.net/manual/de/language.oop5.autoload.php für ordentliche Möglichkeiten, Dateien einzuschließen
hinzugefügt der Autor Clancy Hood, Quelle
Ordentlich. Also willst du Joomla optimieren und sicherstellen, dass nur geladene Skripte verwendet werden? Keine Joomla-Person, aber rate mal, das könnte unangenehme Folgen haben - in Betracht ziehen, Joomla in Ruhe zu lassen und einen Opcode-Cache zu verwenden de. wikipedia.org/wiki/List_of_PHP_accelerators
hinzugefügt der Autor Clancy Hood, Quelle

1 Antworten

Ich denke, das funktioniert nicht, weil require_once ein Sprachkonstrukt ist, keine Funktion.
Ich weiß nicht, ob es noch eine andere Möglichkeit gibt, es zu übersteuern, ich denke nicht.

6
hinzugefügt