dongping9475 2016-03-03 12:38
浏览 12
已采纳

如何在PDO中调用父破坏?

I want destroy the PDO connection, I can do this creating a private variable with this structure: $this->_pdo = new PDO(credentials here) and then in the same class:

function __destruct()
{
    $this->_pdo = NULL;
}

But for some operation like lastInsertedId I need to call the parent construct. So I need to use this structure:

public function __construct($dbhost, $dbname, $dbuser = 'root', $dbpass = '', $dbtype = 'mysql') {
    parent::__construct($dbtype . ':host=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass);
} 

How can I destroy the connection using the parent construct?

  • 写回答

1条回答 默认 最新

  • douqujin2767 2016-03-03 12:53
    关注

    There isn't a good way to do this unfortunately. You've got two scenarios here

    1. You're instantiating PDO and saving it as a class member. At this point you have a variable pointing to the instance so removing that reference will cause it to be eligible for garbage collection
    2. You're instantiating PDO from a child class. Here you can't destroy the instance because the child IS the instance. You'd have to go back to the variable holding the instance and unset() it or something similar

    Without the class itself I'm not sure we can be more help than this.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部