使用單例模式實現mysql類

2021-06-19 11:37:58 字數 1851 閱讀 7514

<?php

defined('acc')||exit('access denied');

// 封裝mysql操作類,包括連線功能,及查詢功能.

class mysql extends absdb

$conf = conf::getins();

self::$ins->host = $conf->host;

self::$ins->user = $conf->user;

self::$ins->passwd = $conf->pwd;

self::$ins->db = $conf->db;

self::$ins->port = $conf->port;

self::$ins->connect();      

self::$ins->select_db();

self::$ins->setchar();

return self::$ins;

}// 不讓外部做new操作,

protected function __construct()

// 連線資料庫

public function connect()

}// 傳送sql查詢

public function query($sql)

return $rs;

}// 封裝乙個getall方法

// 引數:$sql

// 返回: array,false

public function getall($sql)

$list = array();

while($row = mysql_fetch_assoc($rs))       

return $list;

}// 封裝乙個getrow方法

// 引數:$sql

// 返回: array,false

public function getrow($sql)

return mysql_fetch_assoc($rs);

}// 封裝乙個getone方法,

// 引數: $sql

// 返回: int,str(單一的值)

public function getone($sql)

$tmp = mysql_fetch_row($rs);

return $tmp[0];

}// 封裝乙個afftect_rows()方法

// 引數:無

// 返回 int 受影響行數

public function affected_rows()

// 返回最新生成的auto_increment列的值

public function last_id()

// 選庫函式

public function select_db()

// 設定字符集的函式

public function setchar()

// 自動生成insert語句,update語句並執行

public function autoexecute($data,$table,$act='insert',$where='') else if($act == 'update')

$sql = 'update ' . $table . ' set ';

foreach($data as $k=>$v)

$sql = substr($sql,0,-1);

$sql .= ' where ';

$sql .= $where;

} else

//return $sql;

return $this->query($sql); }

}

列舉類實現單例模式

實現單例模式時候,要思考四個問題 是否執行緒安全 多執行緒安全了,效率是否能接受 是否可以延遲載入 是否支援序列化 請看下面一張圖 列舉實現單例模式如下 簡潔優雅 public enum singleton 0 public void setanint int anint public void d...

python元類單例 元類實現單例模式

python中的類也是物件。元類就是用來建立這些類 物件 的,元類就是類的類,你可以這樣理解為 myclass metaclass 元類建立 myobject myclass 類建立例項 實際上myclass就是通過type 來創建立出myclass類,它是type 類的乙個例項 同時myclass...

使用Qt實現單例模式

使用qt實現單例模式 場景描述 多個按鈕控制彈出同乙個對話方塊工具物件,任何一次更改都是對該物件的直接操作。考慮單例模式的適用場景 適用場景 由於單例模式的以上優點,所以是程式設計中用的比較多的一種設計模式。我總結了一下我所知道的適合使用單例模式的場景 單例模式的優點 使用的該類作為有狀態的工具類,...