【发布时间】:2013-02-15 04:52:20
【问题描述】:
目前我正在这样做:
function __construct( $mysqli_connection )
{
if( ! empty($mysqli_connection) && is_object($mysqli_connection) && ! $mysqli_connection->connect_error )
{
//Make the $mysqli universal to the class equal the given connection
$this->mysqli = $mysqli_connection;
}
else
{
die("An invalid MySQLi connection was given.\n");
}
}//function __construct
以及启动类:
new className( $mysqli );
它工作正常,但在我看来:
- 不需要额外的代码
- 用于占用 MySQLi 资源的内存最终翻了一番(一个在类的内存中,但在主代码中还有一个)
我的上述观点是否属实,如果是的话,有没有更好的方法从类中使用 MySQLi 资源?以上方法是我通过搜索找到的唯一方法。
【问题讨论】:
-
创建一个数据库包装器(或使用现有的)并传递它而不是原始的 mysqli 连接。好处是您可以随时更改驱动程序(取决于接口),而无需更改所有代码。