偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在數(shù)據(jù)庫中使用對(duì)象的好處

數(shù)據(jù)庫
在數(shù)據(jù)庫中使用對(duì)象能夠大大簡便數(shù)據(jù)庫操作,而且給管理數(shù)據(jù)庫中的數(shù)據(jù)的過程大大改進(jìn)了,下文中就為大家總結(jié)了再數(shù)據(jù)庫中使用對(duì)象的好處。

我們都知道如何從數(shù)據(jù)庫中獲取我們需要的行(記錄),讀取數(shù)據(jù),然后存取一些改動(dòng)。很明顯也很直接,在這個(gè)過程背后也沒有什么拐彎抹角的。然而對(duì)于我們使用面對(duì)對(duì)象的程序設(shè)計(jì)(OOP)來管理我們數(shù)據(jù)庫中的數(shù)據(jù)時(shí),這個(gè)過程就需要大大改進(jìn)一下了。這篇文章將對(duì)如何設(shè)計(jì)一個(gè)面對(duì)對(duì)象的方式來管理數(shù)據(jù)庫的記錄做一個(gè)簡單的描述。你的數(shù)據(jù)當(dāng)中的所有內(nèi)部邏輯關(guān)系將被封裝到一個(gè)非常條理的記錄對(duì)象,這個(gè)對(duì)象能夠提供專門(專一)的確認(rèn)代碼系統(tǒng),轉(zhuǎn)化以及數(shù)據(jù)處理。隨著Zend Engine2 和PHP5的發(fā)布,PHP開發(fā)者將會(huì)擁有更強(qiáng)大的面對(duì)對(duì)象的工具來輔助工作,這將使這個(gè)過程(面對(duì)對(duì)象地管理數(shù)據(jù)庫)更有吸引力。

以下列出了一些使用對(duì)象來描敘你的數(shù)據(jù)庫的有利方面:

1、存取方法(Accessor methods)將會(huì)使你對(duì)屬性的讀取和寫入過程做到完全的控制

2、每一級(jí)的每個(gè)記錄和屬性(的操作)都有確認(rèn)過程

3、從關(guān)系表中智能的獲取對(duì)象

4、重復(fù)使用的邏輯方法意味著所有的數(shù)據(jù)交互都要通過相同的基礎(chǔ)代碼(codebase),這將使維護(hù)變得更加簡單

5、代碼簡單,因?yàn)椴煌挠涗浀膬?nèi)部邏輯都已經(jīng)包含在各自所處的類(class)當(dāng)中,而不是繁瑣的庫(lib)文件

6、在手工編寫代碼和SQL查詢語句時(shí),出錯(cuò)的機(jī)會(huì)將更少

存取方法(Accessor methods)

存取方式是通過類給實(shí)例(instance)的變量賦值。一個(gè)例子,我有一個(gè)叫User的類,并且有一個(gè)實(shí)例$username,我會(huì)寫這樣的存取方法(函數(shù)),User->username()和User->setUsername()用來返回和給實(shí)例賦值。

<?php

class User {

 

var $username;

 

function username() {

 

return $this->username;

 

}

 

function setUsername($newUsername) {

 

$this->username = $newUsername;

 

}

 

}

 

?>

 

這里有很好的理由讓我們編寫這樣的“特別的代碼”。它將使開發(fā)者更靈活的改變類的繁瑣的工作,因?yàn)檫@一過程將不需要其他的使用類的php代碼。讓我們來看看下面這個(gè)更加完善的可信賴的User類。

變量$username將不復(fù)存在,所有的東西都被整合的放在數(shù)組$_data當(dāng)中

如果username是空的話,username()函數(shù)將提供一個(gè)缺?。J(rèn))的值給它

setUsername()過程將在接受值之前確認(rèn)username是否合乎標(biāo)準(zhǔn)格式(如字長等)

<?php

class User {

 

var $_data = array(); // associative array containing all the attributes for the User

 

function username() {

 

return !empty($this->_data['username']) ? $this->_data['username'] : '(no name!)';

 

}

 

function setUsername($newUsername) {

 

if ($this->validateUsername($newUsername)) {

 

$this->_data['username'] = $newUsername;

 

}

 

}

 

function validateUsername(&$someName) {

 

if (strlen($someName) > 12) {

 

throw new Exception('Your username is too long

 

關(guān)于在數(shù)據(jù)庫中使用對(duì)象的好處就為大家總結(jié)這么多, 相信大家通過上文的學(xué)習(xí),對(duì)在數(shù)據(jù)庫中使用對(duì)象的好處有所了解,大家可以在以后的工作中在數(shù)據(jù)庫中使用對(duì)象,相信這樣會(huì)給大家的工作帶來很多的便利,最后,希望大家都能夠從上文中涉及到的內(nèi)容中有所收獲。

 

責(zé)任編輯:迎迎 來源: 電腦初學(xué)網(wǎng)
相關(guān)推薦

2009-03-17 15:51:41

數(shù)據(jù)庫存儲(chǔ)過程封裝

2010-04-14 10:12:07

Oracle數(shù)據(jù)庫

2011-01-20 10:39:09

postfixmysql

2024-06-05 10:21:30

2011-04-08 16:00:11

Oracle數(shù)據(jù)庫外部表

2011-08-05 09:15:27

MySQL數(shù)據(jù)庫索引

2011-03-16 17:26:22

動(dòng)態(tài)數(shù)據(jù)庫

2020-03-03 19:00:50

C語言數(shù)據(jù)科學(xué)

2010-05-04 11:58:38

Oracle數(shù)據(jù)庫

2010-03-12 13:10:02

Python編程語言

2009-01-19 09:14:31

.NETMySQLMySql驅(qū)動(dòng)包

2011-04-12 13:44:17

CachéOracle數(shù)據(jù)庫

2010-10-09 10:29:29

MySQL外鍵

2017-12-27 15:16:35

Spring BootFlyway數(shù)據(jù)庫

2009-06-10 14:42:50

NetBeans IDJava DB數(shù)據(jù)庫

2011-05-13 13:38:49

數(shù)據(jù)庫對(duì)象

2011-05-17 16:20:46

C++

2011-03-30 10:41:11

C++數(shù)據(jù)庫

2009-12-31 09:18:23

ADO.NET對(duì)象模型

2024-11-13 15:15:46

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)