我想用PHP重写一个函数(假设是mail()函数),并希望从现在开始调用mail()时,它将加载我的mail()版本,而不是默认的php版本。这在php中是可能的吗?
我之所以要这样做,是因为我有数千行调用mail()的代码,我不想重写所有这些代码。
另外,为了将来参考,在计算机编程中,当你做这样的事情时,它叫什么?
发布于 2009-12-03 10:40:33
有一个允许你覆盖函数的扩展。它本来是用于调试的,但我猜您可以根据自己的需要使用它。看一看:
http://www.php.net/manual/en/function.override-function.php
如果您希望在您的版本中调用原始函数,请确保阅读此注释:http://no.php.net/manual/en/function.override-function.php#50821
发布于 2009-12-03 10:34:27
您可以使用regexp替换文件中的函数名。你使用什么应用程序是你自己的事,但我建议你使用价格非常昂贵的Powergrep (除非你不再需要它)。
替换
(\s+)mail([\s(]+)
至
$1new_function_name$2
和
^mail([\s(]+)
至
new_function_name$1
很抱歉我的regexp-fu,我不知道如何在一个表达式中搜索空格或行首。
https://stackoverflow.com/questions/1837184
复制相似问题