【发布时间】:2010-09-19 11:18:14
【问题描述】:
问题是数据库连接应该通过引用还是值传递?
对我来说,我特别质疑 PHP 到 MySQL 的连接,但我认为它适用于所有数据库。
我听说在 PHP 中,当您将变量传递给函数或对象时,它会被复制到内存中,因此会立即使用两倍的内存。我还听说只有在对值进行更改后才会复制它(例如从数组中添加/删除键)。
在数据库连接中,我认为它正在函数内被更改,因为查询可能会更改最后插入 id 或 num 行之类的内容。 (我想这是另一个问题:是像 num rows 和 insert id 这样存储在连接中还是实际调用回数据库?)
那么,如果连接是通过引用或值传递的,内存或速度是否重要? PHP 4 和 5 有区别吗?
// $connection is resource
function DoSomething1(&$connection) { ... }
function DoSomething2($connection) { ... }
【问题讨论】: