模型類的單例模式

2022-02-24 12:44:54 字數 3078 閱讀 1629

1.model 模型類---mypdo,它是連線資料庫和運算元據庫的模型類

<?php

class

mypdo

private

function

__clone()

//獲取單例

public

static

function getinstance($data=array

())

return self::$instance

; }

//初始化引數

private

function initparam($data

)

//顯示錯誤

private

function showerror($e,$sql=null

) }

//連線資料庫

private

function

getpdo();port=;dbname=;charset=","","");

} catch (pdoexception $e

) }

//設定錯誤模式

private

function

errormode()

/*** 增刪改功能

* @param string sql語句

* @return int 受影響的行數

*/public

function

exec($sql

) catch (pdoexception $e

) }

/*** 獲取二維陣列結果集

* @param string sql

* @return pdostatement 結果集

*/public

function fetchall($sql

)catch(pdoexception $e

) }

/*** 獲取一維陣列結果集

*@param string sql

*@return pdostatement 結果集

*/public

function fetch($sql

) catch (pdoexception $e

) }

/*** 獲取單行單列

* @param string sql

* @return mixed 內容

*/public

function fetchcolumn($sql

) catch (pdoexception $e

) }

//轉賬事務操作

public

function begintransction($sql_out,$sql_in

)else

} catch (pdoexception $e

) }

}

2.model 模型-model.class.php 基礎模型類,每個模型類都需要繼承model.class.php 類(不繼承**不冗餘,每次都要連線資料庫和增刪改查)

<?php

/*** 基礎模型類,其他模型類繼承此類

* 所有模型類的父類

*/class

moudel

//初始化pdo物件

protected

function

initpdo()

}

3.model 模型--factory.class.php  單例模型工廠類,每次使用模型類  不需要例項化

<?php     

/*** 專案中的單例工廠

*/class

factory

.class.php";

$arr[$class_name]= new

$class_name

; }

return

$arr[$class_name

]; }

}

4.model 模型 mybank 表模型類,它對應著資料庫的my_bank 表,對這個表的所有操作,都在這裡

<?php 

//載入model基礎類並繼承

include 'model.class.php';

//顯示my_bank表模型類

class mybank extends

model

}

5.controller 控制器,它負責呼叫模型和檢視

<?php 

//呼叫單例工廠

include 'factory.class.php';

//模型mybank單例

$bank= factory::m("mybank");

//呼叫單例的方法,返回結果集rs

$rs=$bank->showtable("select * from my_bank");

//呼叫view 檢視

include 'index.php'; //

引入這個檢視,rs 才可以使用

6.view 檢視   它是用來顯示給使用者的

編號卡號

金額 <?php foreach ($rs

as$value):?>

<?php echo

$value['id']?>

<?php echo

$value['carno']?>

<?php echo

$value['money']?>

<?php endforeach?>

<?php

//載入model基礎類並繼承

include

'model.class.php';

//顯示my_bank表模型類

class

mybank

extends

model

}

單例模式 基類單例。。用於其他單例的派生

首先是繼承方式,為了進行單例的派生,需要將基類的建構函式以及拷貝賦值函式設定為protected成員 template class singleton singleton const singleton singleton operator const singleton public static...

建立型模型 單例模式

單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。singleton 單例 在單例類的內部實現...

python 設計模式 單例模型

的設計模式共有25種,不同的應用場景應用不同的設計模式,從而達到簡化 利於擴充套件 提高效能等目的。本文簡述python實現的單例模式場景。簡而言之,單例模式的應用場景是乙個類物件被例項化多次,在這樣的場景下應用單例模式可以減少物件重複建立的消耗,從而節約記憶體。使用 類目 建立物件時,python...