كيفية إعادة تسمية أو الكتابة فوق وظيفة php؟

كيف يمكنني إعادة تعريف وظيفة في PHP مع runkit؟

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

أنا وضعت في php.ini

runkit.internal_override=1

عندما أقوم بتشغيل ، تظهر:

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

كيف يمكنني اصلاحها؟ الرجاء مساعدتي!

2
استخدم أداة تعريف مثل xdebug بدلاً من الشد مع اللغة نفسها ، مما سيؤدي إلى تحريف نتائجك على أي حال.
وأضاف المؤلف deceze, مصدر
يمكنك الانتقال إلى الدالة override_function ( php.net/manual/en/function.override- function.php ) بدلاً من ذلك إذا كان هذا يخدم غرضك.
وأضاف المؤلف sushil, مصدر
أنا رمز جملة مثالية للشبكة الاجتماعية والاقتصاد الإلكتروني. لذا ، أحتاج إلى مقارنة النتيجة بعد الأمثل (تشغيل الوقت وحجمه). في joomla تتضمن ملفات أكثر بكثير ، لذلك أحتاج إلى تقييم كل الملفات قبل وبعد تضمينها
وأضاف المؤلف Mr Jerry, مصدر
deceze و Clancy Hood صحيحة ، require_once ليست دالة ، إنها عبارة ، لذا لا يمكنني استبدالها. حاولت xdebug من قبل ، لكنها ليست مفيدة في الوقت الراهن. سأقوم بكتابة مؤقت للصف الدراسي لحساب وقت التشغيل ، والحصول على جميع الملفات المضمنة ، وإزالتها إذا لم تكن بحاجة إلى الشبكة الاجتماعية والاقتصاد الإلكتروني. أي فكرة أخرى عن ذلك؟
وأضاف المؤلف Mr Jerry, مصدر
هذا لأن سلسلة المسار ( include_path = '.؛ xampp \ PHP \ PEAR' ) هي خاطئة
وأضاف المؤلف hjpotter92, مصدر
من المحتمل أن يكون required_once عبارة عن بنية لغوية (مثل "unset" و "list") بدلاً من دالة ، وربما يكون من المستحيل الكتابة فوق. لماذا تريد تجاوزه؟ ماذا تحاول أن تفعل؟ راجع php.net/manual/en/language.oop5.autoload.php</أ> لطرق نظيفة بما في ذلك الملفات
وأضاف المؤلف Clancy Hood, مصدر
أنيق. إذا كنت تريد تحسين Joomla وتأكد من أنه لا يحمّل سوى النصوص البرمجية التي يستخدمها؟ ليس شخصًا من مستخدمي Joomla ، ولكن خمّن أن هذا قد يؤدي إلى عواقب مزعجة - فكّر في ترك Joomla بمفرده واستخدام ذاكرة التخزين المؤقت في شفرة التشغيل ar. wikipedia.org/wiki/List_of_PHP_accelerators
وأضاف المؤلف Clancy Hood, مصدر

1 إجابة

أعتقد أن هذا لا يعمل لأن require_once هي بنية لغوية وليست دالة.
لا أعرف إذا كان هناك أي احتمال آخر لتجاوزها ، لا أعتقد ذلك.

6
وأضاف