我的任务是为现有的旧版PHP应用程序编写一堆扩展。原来的应用程序是...呃...非常糟糕。它是125K行的意大利面条代码,散布着原始SQL语句并使用mysql_*
函数。每天我都会发现真正属于TheDailyWTF的东西。到目前为止,我的计划是尽可能将新代码与遗留代码分开。对于数据库访问,我计划使用Idiorm and Paris,这是在PDO之上构建的两个非常好的小库。
但是我将如何处理数据库连接?或者PHP如何在内部处理它们?我担心使用PDO,每次调用页面都会打开两个与数据库分开的连接。一个来自legact mysql_connect()
,一个来自PDO。这是真的,还是PHP只是在后台共享相同的连接?有没有办法让PDO和遗留mysql_*
函数使用相同的数据库连接?它是否真的重要我在每个页面加载时打开两个连接(注意:应用程序没有使用事务)?
我有点犹豫是否要查看125K行的意大利面条代码并用其他内容替换所有mysql_*
函数。我希望尽可能少地触摸原始代码,而不是让我的大脑破坏它。
提前感谢任何建议。
答案 0 :(得分:2)
你将有两个连接,但它不会破坏任何东西。看到这个人的答案问同样的问题:
答案 1 :(得分:0)
这两个扩展名不会相互通信,因此您将以两个连接结束。这将是一项非常多的工作,很少有人会让IMO受益 - 只有你那些无法完全转换的人。