• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在數據庫中使用對象的好處

    發布: 2007-6-22 18:11 | 作者: 網絡轉載 | 來源: 網絡 | 查看: 119次 | 進入軟件測試論壇討論

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

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

      1、存取方法(Accessor methods)將會使你對屬性的讀取和寫入過程做到完全的控制
      2、每一級的每個記錄和屬性(的操作)都有確認過程
      3、從關系表中智能的獲取對象
      4、重復使用的邏輯方法意味著所有的數據交互都要通過相同的基礎代碼(codebase),這將使維護變得更加簡單
      5、代碼簡單,因為不同的記錄的內部邏輯都已經包含在各自所處的類(class)當中,而不是繁瑣的庫(lib)文件
      6、在手工編寫代碼和SQL查詢語句時,出錯的機會將更少

    存取方法(Accessor methods)

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

    <?php
    class User {
      var $username;

      function username() {
          return $this->username;
      }

      function setUsername($newUsername) {
          $this->username = $newUsername;
      }
    }
    ?>

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

    變量$username將不復存在,所有的東西都被整合的放在數組$_data當中
    如果username是空的話,username()函數將提供一個缺。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\

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 對象 使用 數據庫 好處


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>