2

ユーザーがボタンをクリックすると、スクリプトがこのクラスをインスタンス化します。したがって、私の Web サイトにこのボタンをクリックするユーザーが 50 人いる場合、インスタンス化されたこれらのクラスは 50 になります。これは正しいことですか?または、このクラスが以前にインスタンス化されているかどうかを確認し、インスタンス化されている場合は何もしない必要がありますか?

ここで自分のデータベースに接続します。このクラスには他にもありますが、これはほんの一部です。

class Database{
    private $host      = "localhost";
    private $user      = "rt";
    private $pass      = "";
    private $dbname    = "db";

    public function __construct(){
        // Set DSN
        $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
        // Set options
        $options = array(
                PDO::ATTR_PERSISTENT    => true,
                PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
        );
        // Create a new PDO instanace
        try{
            $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
        }
        // Catch any errors
        catch(PDOException $e){
            $this->error = $e->getMessage();
        }
    }
}
4

3 に答える 3

0

異なる資格情報 (パラメーター) を使用するたびに、クラスをインスタンス化する必要があります。したがって、すべてのユーザーが異なる資格情報で新しい接続を作成する場合は、毎回インスタンス化する必要があります。それ以外の場合は、適切なチェックを行い、同じ接続を引き続き使用する必要があります

于 2013-04-16T14:13:11.103 に答える