如何覆盖内置的PHP函数?
我想覆盖mysql_connection
函数,函数应检查连接是否已打开,只返回该连接或请求新连接。
我正在使用一些遗留系统,每个页面上有1000个连接。这会降低网站的性能,并可能导致内存使用不良。
我想以这样的方式重做:每当发出sql连接请求时,系统必须检查连接是否已经存在。
我无法在所有地方进行更改以替换与公共对象的连接,因为系统不是用MVC编写的。
任何人都可以帮助我?
答案 0 :(得分:2)
有关问题的字面答案,请参阅重复的链接:Redefine Built in PHP Functions
然而,覆盖原生mysql_
系列功能将是徒劳的。您将不得不在PHP中重新实现它们的功能,这可能是不可能的 - 它们是mysql扩展的一部分,我假设是用C语言编写的。
我认为你唯一的方法就是定义一个替代类或一组函数,然后在遗留系统中进行搜索+替换,通过调用新的mysql_
调用替换所有{{1}}个调用。