亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP中單例模式連接數(shù)據(jù)庫

??? 2019-06-03 14:07:51 240
????:<?php /**  * Created by PhpStorm.  * 單例模式連接數(shù)據(jù)庫 1、構(gòu)造函數(shù)需要標(biāo)記為private(訪問控制:防止外部代碼使用new操作符創(chuàng)建對(duì)象),單例類不能在其他類中實(shí)例化,只能被其自身實(shí)例化; 2、擁有一個(gè)保存類的實(shí)例的靜態(tài)成員變量 3、擁有一個(gè)訪問這個(gè)實(shí)例的公共的靜態(tài)方法(常用getInsta
<?php
/**
 * Created by PhpStorm.
 * 單例模式連接數(shù)據(jù)庫
1、構(gòu)造函數(shù)需要標(biāo)記為private(訪問控制:防止外部代碼使用new操作符創(chuàng)建對(duì)象),單例類不能在其他類中實(shí)例化,只能被其自身實(shí)例化;
2、擁有一個(gè)保存類的實(shí)例的靜態(tài)成員變量
3、擁有一個(gè)訪問這個(gè)實(shí)例的公共的靜態(tài)方法(常用getInstance()方法進(jìn)行實(shí)例化單例類,通過instanceof操作符可以檢測到類是否已經(jīng)被實(shí)例化)
 */

class Db
{
    private static $pdo;

    public static function getPdo ()
    {
        var_dump(self::$pdo);
        echo '</br>';
        if ( self::$pdo == null )
        {
            $host = '127.0.0.1';
            $user = 'root';
            $pwd = 'root';
            $dbname = 'php_edu';
            $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8;port=3306";
            $pdo = new PDO ( $dsn, $user, $pwd );
            $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            static::$pdo = $pdo;
        }
        return static::$pdo;
    }

    public static function getStmt ( $sql )
    {
        $pdo = static::getPdo ();
        return $pdo -> prepare( $sql );
    }
    public static function getinsertids()
    {
        $pdo = self::getPdo();
        $insertid = $pdo->lastInsertId();
        return $insertid;
    }
}
$sql = "SELECT * FROM user";
$stmt = Db::getStmt ( $sql );
$stmt = Db::getStmt ( $sql );
?>


?? ???:天蓬老師?? ??:2019-06-03 16:59:00
???? ??:受連接數(shù)量限制, 單例模式的作用很大, 不過, 現(xiàn)在的惰性連接, 已經(jīng)緩解或杜絕了重復(fù)連接的效率問題

??? ??

?? ??