如何重写内置的php函数

如何重写内置的php函数,php,Php,可能重复: 如何覆盖内置PHP函数 我想覆盖mysql\u连接函数,函数应该检查连接是否已经打开,只需返回该连接,否则请求新连接 我正在使用一些遗留系统,每个页面上有1000个连接。这会降低网站的性能,并可能导致内存使用不良 我希望以这样一种方式重新处理这个问题,即每当发出sql连接请求时,系统都必须检查连接是否已经存在 我无法在所有地方进行更改以替换到公共对象的连接,因为系统不是用MVC编写的 有人能帮我吗?有关您问题的字面答案,请参阅重复链接: 然而,覆盖本机的mysql\uuz函数家族将

可能重复:

如何覆盖内置PHP函数

我想覆盖
mysql\u连接
函数,函数应该检查连接是否已经打开,只需返回该连接,否则请求新连接

我正在使用一些遗留系统,每个页面上有1000个连接。这会降低网站的性能,并可能导致内存使用不良

我希望以这样一种方式重新处理这个问题,即每当发出sql连接请求时,系统都必须检查连接是否已经存在

我无法在所有地方进行更改以替换到公共对象的连接,因为系统不是用MVC编写的


有人能帮我吗?

有关您问题的字面答案,请参阅重复链接:

然而,覆盖本机的
mysql\uuz
函数家族将是徒劳的。您必须在PHP中重新实现它们的功能,这可能是不可能的——它们是mysql扩展的一部分,我假设它们是用C编写的


我认为唯一的方法是定义一个替代类或一组函数,然后在遗留系统中执行搜索+替换,将所有的
mysql\u
调用替换为对新调用的调用。

来自:如果使用相同参数再次调用
mysql\u connect()
,则不会建立新链接,但是,将返回已打开链接的链接标识符。您是否在每次呼叫时明确请求新链接?还是改变参数?如果不是,则不需要覆盖该函数
mysql\u connect
已重新使用该连接。您可能正在查找。还请记住,您可以配置mysql允许通过各种应用程序使用的连接数量,而不需要使用MVC架构的应用程序才能使用类!请不要混淆这两件事!是的,这是真的,但是我没有时间创建新的DBUtility类来将connect函数放在公共位置。提示:下次你问问题时,请立即将所有你不能做的事情放在问题中。那么你就不必抱怨别人给你的合理建议,因为那样他们就会从一开始就告诉你没有希望了。我不能那样做。正如我所说,有这么多的联系。我不能只替换“mysql\u connect”功能。因为所有的连接都是不同的。连接不会存储在任何位置。没有使用对象。@Sahal为什么不能进行搜索和替换?您能告诉我搜索和替换是什么意思吗?你将替换什么?我调用“mysql_函数”的位置?我没有使用任何公共对象。每一次呼叫都是新的。我无法检查($connection\u存在)是否返回连接。@Sahal:Text search and replace。我希望你也能读到我的评论。你试图做的事情可能没有任何效果。