DssTrainer Posted January 9, 2010 Share Posted January 9, 2010 I am trying to use the rename_function() override_function() options that are built into the APD php extension. But I don't want to rely on that extension being loaded. This is another one of my out-of-the-box ideas that presents me with the thought to override the require_once function. During this function call, I want to check for the existence of the same file in another path. If it exists then require that one.. otherwise just do normal require once. If I use the APD extension it works fine with this: rename_function('require_once', 'require_once_orig'); override_function('require_once', '$file', 'return require_once_new($file);'); function require_once_new($file) { $modfile = str_replace(ROOT.'/', ROOT.'/'.MODS.'/', $file); if (file_exists($modfile)) { require_once_orig($modfile); } else { require_once_orig($file); } } so if original file is: /home/public_html/site/includes/page.php I want to check if /home/public_html/site/mods/includes/page.php exists first and load the one I want. I am overriding the require_once function because I am adding this to an existing framework and don't want to have to update it in all locations. This would make it completely dynamic so that all require_once calls will check for existence of the file in the other path. Any thoughts? Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/ Share on other sites More sharing options...
ignace Posted January 9, 2010 Share Posted January 9, 2010 I highly discourage overriding or renaming built-in functions. What is in page.php? Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991867 Share on other sites More sharing options...
Mchl Posted January 9, 2010 Share Posted January 9, 2010 There's no such feature in PHP itself. Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991870 Share on other sites More sharing options...
DssTrainer Posted January 9, 2010 Author Share Posted January 9, 2010 ARghh... Foiled again Curse this brain! The 21st century just isn't ready for me. Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991885 Share on other sites More sharing options...
Mchl Posted January 9, 2010 Share Posted January 9, 2010 Err... not really... I can see no reason to override built in functions in a code that's meant to be portable. Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991892 Share on other sites More sharing options...
DssTrainer Posted January 9, 2010 Author Share Posted January 9, 2010 Err... not really... I can see no reason to override built in functions in a code that's meant to be portable. "YOU" can see no reason... 21st centurian.... doesn't mean I can't. They laughed at Einstein too......... Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991953 Share on other sites More sharing options...
Mchl Posted January 9, 2010 Share Posted January 9, 2010 I don't laugh at you and Einstein presented his hypothesis to scrutiny So, what's YOUR hypothesis? Quote Link to comment https://forums.phpfreaks.com/topic/187862-is-there-a-way-to-override-built-in-php-functions-without-apd/#findComment-991968 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.