Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如果调用了函数,如何用另一个函数覆盖它_Php - Fatal编程技术网

PHP如果调用了函数,如何用另一个函数覆盖它

PHP如果调用了函数,如何用另一个函数覆盖它,php,Php,可能重复: 是否有方法检测正在调用的函数并使用单独的函数重写?我不确定函数_是否存在这样做。 您可以使用名称空间来覆盖 现有函数名: namespace blarg; function basename() { return 'whatever'; } $base = basename(); 即,在 blarg命名空间将使用您的新 函数的版本 功能可能是您所需要的,但它看起来很难看 但是,使用名称空间或继承可能是更好的选择。为什么要这样做?对于最初的问题,可能有更好的解决方案 另外,

可能重复:

是否有方法检测正在调用的函数并使用单独的函数重写?我不确定函数_是否存在这样做。

您可以使用名称空间来覆盖 现有函数名:

namespace blarg;
function basename() {
    return 'whatever';
}
$base = basename();
即,在 blarg命名空间将使用您的新 函数的版本

功能可能是您所需要的,但它看起来很难看


但是,使用名称空间或继承可能是更好的选择。

为什么要这样做?对于最初的问题,可能有更好的解决方案


另外,您希望重写内置的PHP函数,还是您自己编写的函数。它是对象上的方法还是静态函数?

这只适用于PHP5.3.0及更高版本。我认为这需要PECL或其他东西。我认为你问错了问题。你为什么一开始就要这么做?