PHP-класс для MySQL, чтобы убедиться, что MySQL никогда не остается открытым после использования? - PullRequest
0 голосов
/ 02 августа 2011
<?php

class connection
{
    public $host, $username, $password, $database;

    function __construct($host, $username, $password, $database)
    {
        $this->host = $host;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }

    function MySQLi()
    {
        return new mysqli($this->host, $this->username, $this->password, $this->database);
    }

    public function __destruct()
    {
        mysqli_close($this->MySQLi());
    }
}

?>

Является ли разрушение соединений mysqli внутри класса плохой идеей? Или следует придерживаться стандартных объектов mysqli и просто закрывать соединения, как это?

$bedtime = new mysqli(....);
$bedtime->query("INSERT..");
$bedtime->close();

1 Ответ

0 голосов
/ 02 августа 2011

Деконструкция не будет работать, потому что если вы сделаете что-то вроде

$conn = $connection->MySQLi(.......);

даже если вы unset($connection), $conn останется активным.

Придерживайтесь нормальных объектов, если это ваша цель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...