我怎样才能覆盖内置的php函数

时间:2011-06-27 09:32:20

标签: php

  

可能重复:
  Redefine Built in PHP Functions

如何覆盖内置的PHP函数?

我想覆盖mysql_connection函数,函数应检查连接是否已打开,只返回该连接或请求新连接。

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

我想以这样的方式重做:每当发出sql连接请求时,系统必须检查连接是否已经存在。

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

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:2)

有关问题的字面答案,请参阅重复的链接:Redefine Built in PHP Functions

然而,覆盖原生mysql_系列功能将是徒劳的。您将不得不在PHP中重新实现它们的功能,这可能是不可能的 - 它们是mysql扩展的一部分,我假设是用C语言编写的。

我认为你唯一的方法就是定义一个替代类或一组函数,然后在遗留系统中进行搜索+替换,通过调用新的mysql_调用替换所有{{1}}个调用。