PDOStatement类的包装类


Wrapper Class for PDOStatement Class

在对包装/扩展PDO类和PDOStatement类的利弊进行了长时间的研究之后,我得出结论,我希望包装这两个类,而不是扩展它们。

现在我面临以下问题:我还获得了fetch和fetchl方法的包装方法,这会导致内存过载:

public function fetch_row($style = null, $orientation_cursor = null, $offset_cursor = null)
{
    return $this->driver->fetch($style, $orientation_cursor, $offset_cursor);
}

我不知道PHP可能会为返回的数组保留额外的内存,这些数组只是通过return传递。

是否有一种方法告诉PHP不使用内存?在我想保留包装器类的情况下,您是否有另一种可能的体系结构来解决我的问题?

已经提前感谢你的帮助了,

弗雷迪

这是一个典型的离题问题,因为它要求解释一个[毫无根据的]假设,但未能提供一些可重复的案例作为证明。

所以,根据我的经验,我可以告诉你

  1. 不,PHP从来不提前预留内存,只是以防万一。
  2. 很可能你的问题是由于缓冲查询返回了太多的数据,这是无关的包装。
  3. PDO本身就是一个很好的包装器,需要改进的地方非常少。在重新发明轮子之前必须三思而后行。