如果这个问题是重复的,我很抱歉。我已经阅读manyothermysqliquestions首先,但没有一个看起来是完全重复的。mysqli授权重写大型工作系统的好处吗?
我是我公司一直从事4年以上项目的高级开发人员。这是一个庞大的PHP MVC框架系统,包含CMS系统模块,电子商务系统等。总共我们正在讨论1583个文件和〜407,912行代码(不包括评论和空白行)。
该系统使用我们从头开始构建的一个适合活动记录的系统,它几乎用于系统的每个模块。它是使用旧的PHP mysql函数构建的,而不是新的mysqli函数或PDO。 PDO有点矫枉过正,因为作为一家SaaS公司,我们控制着基础架构,我们将在可预见的将来使用MySQL,所以我们不需要数据库抽象。但在这里的答案以及PHP文档已经用强壮的语言关于MySQL的VS的mysqli:
http://ca3.php.net/manual/en/mysqli.overview.php:
注意:
如果你正在使用MySQL版本4.1。 3 或更高版本,强烈建议使用 ,而不是使用mysqli扩展 。
由于我们使用的是旧的mysql函数,因此我们全面检查了新代码以检查SQL注入错误。它由我们的工作人员审查,所以有可能我们错过了一些东西,但我相信我们已经被覆盖了。由于系统在代码中使用了mysql函数,所以新代码必须遵循该约定;我们不能迁移到mysqli,因为我们去...
重写整个系统使用mysqli代替有没有好处?或者更好地问,这个好处是否值得相当大的成本?或者,当我们进行重大修改时(在下一个主要版本中),我们应该考虑这一点吗?我的心态是,如果它没有损坏,不要修复它......但我只是固执?
哦,等等,那个文件/行数包括JavaScript代码。当我弄清楚如何排除.js文件时,请耐心等待...... – Josh 2010-09-02 14:22:28
您不应该重写所有内容。你说你开发了一个*“专有活动记录系统”*,所以这应该是唯一需要改变的东西,因为通过适当的设计,你所有的代码都不应该直接使用'mysql'。相反,它应该调用AR-System的函数 – jigfox 2010-09-02 14:25:56
@jigfox:它与Ruby的ActiveRecord系统类似,可以根据SQL WHERE子句或整个SQL语句进行选择。因此,所有模块中的所有语句都需要重写以使用Prepared Statements ... – Josh 2010-09-02 14:28:48