PHP數(shù)據(jù)對象映射模式實例分析_第1頁
PHP數(shù)據(jù)對象映射模式實例分析_第2頁
PHP數(shù)據(jù)對象映射模式實例分析_第3頁
PHP數(shù)據(jù)對象映射模式實例分析_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第PHP數(shù)據(jù)對象映射模式實例分析本文實例講述了PHP數(shù)據(jù)對象映射模式。分享給大家供大家參考,具體如下:

將對象和數(shù)據(jù)存儲映射起來,對一個對象的操作映射為對數(shù)據(jù)存儲的操作。

例如在代碼中new一個對象,使用數(shù)組對象映射模式可以將對象的一些操作,比如設(shè)置一些屬性,就會自動保存到數(shù)據(jù)庫,跟數(shù)據(jù)庫表的一條記錄對應起來

在代碼中實現(xiàn)數(shù)據(jù)對象映射模式,我們將實現(xiàn)一個ORM類,將復雜的SQL語句映射成對象屬性的操作。同時結(jié)合工廠模式和注冊模式使用

例1

【例1】

數(shù)據(jù)庫test,user表結(jié)構(gòu):

CREATETABLE`user`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`name`varchar(32)CHARACTERSETutf8DEFAULTNULL,

`mobile`varchar(11)CHARACTERSETutf8DEFAULTNULL,

`regtime`timestampNULLDEFAULTNULLONUPDATECURRENT_TIMESTAMP,

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=latin1;

Common\User.php:

namespaceCommon;

classUser{

public$id;

public$name;

public$mobile;

public$regtime;

protected$db;

//構(gòu)造方法

function__construct($id){

$this-db=newDatabase\MySQLi();

$conn=$this-db-connect('','root','','test');

$res=$this-db-query("select*fromuserwhereid={$id}limit1");

$data=$res-fetch_assoc();

$this-id=$data['id'];

$this-name=$data['name'];

$this-mobile=$data['mobile'];

$this-regtime=$data['regtime'];

//析構(gòu)方法

function__destruct(){

$this-db-query("updateusersetname='{$this-name}',mobile='{$this-mobile}',regtime='{$this-regtime}'whereid={$this-id}limit1");

Common\Databases\MySQLi.php

namespaceCommon\Database;

useCommon\IDatabase;

classMySQLiimplementsIDatabase{

protected$conn;

functionconnect($host,$user,$passwd,$dbname){

$conn=mysqli_connect($host,$user,$passwd,$dbname);

$this-conn=$conn;

functionquery($sql){

$res=mysqli_query($this-conn,$sql);

return$res;

functionclose(){

mysqli_close($this-conn);

入口文件index.php

define('BASEDIR',__DIR__);//定義根目錄常量

includeBASEDIR.'/Common/Loader.php';

spl_autoload_register('\\Common\\Loader::autoload');

echo'metahttp-equiv="content-type"content="text/html;charset=utf8"

*對對象屬性的操作就完成了對數(shù)據(jù)庫的操作

$user=newCommon\User(1);

//讀取數(shù)據(jù)

var_dump($user-id,$user-mobile,$user-name,$user-regtime);exit();

$user-mobile=;

$user-name='Arshavin';

$user-regtime=date("Y-m-dH:i:s",time());

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論