自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

2、每一級的每個記錄和屬性(的操作)都有確認過程

3、從關系表中智能的獲取對象

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

5、代碼簡單,因為不同的記錄的內部邏輯都已經(jīng)包含在各自所處的類(class)當中,而不是繁瑣的庫(lib)文件

6、在手工編寫代碼和SQL查詢語句時,出錯的機會將更少

存取方法(Accessor methods)

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

<?php

class User {

 

var $username;

 

function username() {

 

return $this->username;

 

}

 

function setUsername($newUsername) {

 

$this->username = $newUsername;

 

}

 

}

 

?>

 

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

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

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

setUsername()過程將在接受值之前確認username是否合乎標準格式(如字長等)

<?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

 

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

 

責任編輯:迎迎 來源: 電腦初學網(wǎng)
相關推薦

2009-03-17 15:51:41

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

2010-04-14 10:12:07

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

2011-01-20 10:39:09

postfixmysql

2024-06-05 10:21:30

2011-08-05 09:15:27

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

2011-03-16 17:26:22

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

2011-04-08 16:00:11

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

2010-05-04 11:58:38

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

2020-03-03 19:00:50

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

2010-03-12 13:10:02

Python編程語言

2009-01-19 09:14:31

.NETMySQLMySql驅動包

2010-10-09 10:29:29

MySQL外鍵

2011-04-12 13:44:17

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

2009-06-10 14:42:50

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

2017-12-27 15:16:35

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

2011-05-13 13:38:49

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

2009-12-31 09:18:23

ADO.NET對象模型

2021-11-26 07:37:14

數(shù)據(jù)庫支持網(wǎng)絡

2011-05-17 16:20:46

C++

2011-03-30 10:41:11

C++數(shù)據(jù)庫
點贊
收藏

51CTO技術棧公眾號