程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php面向對象對象概念理解

php面向對象對象概念理解

編輯:關於PHP編程

簡單的理解
        形象“好比兩個人打架,你要用程序去描述它,面向結構了,你是把每一步的對打都寫好了,比如對方出什麼招數,你出什麼招數,必須每一步都寫出來,面向對象的方法了,你要把打架的過程拆分成幾個部分,打架前,打架中,及其之後”。

        現在對於PHP的面向對象的做法,已經學習了一段時間,做的系統裡面也有是用面向對象的方法做的了。

        說一說面向對象的好處吧,它可以讓系統很好的模塊化,可以讓很多的程序員一起工作,提高了編碼的效率。對於整個系統的維護和更新也方便了很多的。

下面帖個類出來,大家感受一下吧。這個是一個數據庫鏈接和操作的基礎類,它為其他類說引用吧。
<?php
/*
數據庫類文件:class_database.php

數據庫操作類,本類是其他類操作的基礎,即其他類函數的實現一般情況下通過數據庫類實現

創建世間:2007年5月17日
*/
include_once("config.inc"); //包含系統配置文件
class data_class
{
//屬性
        private $host; //服務器名
        private $user; //用戶名
        private $pwd; //密碼
        private $name; //數據庫名
        private $connection; //連接標識

//方法
//__get():獲取屬性值
function __get($property_name){
        if(isset($this->$property_name))
        {
                return($this->$property_name);
        } else {
                return(NULL);
        }
}

//__set():設置單個私有數據屬性值,用於少量的修改數據
function __set($property_name, $value)
{
        $this->$property_name = $value;
}

//__construct:構造函數,建立連接,在函數建立時自動調用建立,原則新建對象時不顯式調用
function __construct()
{
        $this->host=sys_conf::$dbhost; //使用sys_conf類的靜態屬性
        $this->user=sys_conf::$dbuser;
        $this->pwd=sys_conf::$dbpswd;
        $this->name=sys_conf::$dbname;
        //建立與數據庫的連接
        $this->connection=mysql_connect ($this->host,$this->user,$this->pwd);//建立連接
        mysql_query("set names utf8");//字符集的統一
        mysql_select_db("$this->name", $this->connection); //選擇數據庫挑戰杯
}
//__destruct:析構函數,斷開連接,在函數執行完畢時自動調用析構。實現關閉數據庫的連接,保證數據

庫數據的安全
function __destruct()
{
        mysql_close($this->connection);
}

//增刪改:參數$sql為Insert update
function execute($sql)
{
mysql_query($sql);
//echo "寫入數據庫成功了";
//echo "我是dataclass類的execute函數";
}//execute
//查:參數$sql為Insert語句
//返回值為對象數組,數組中的每一元素為一行記錄構成的對象
function query($sql)
{
        $result_array=array(); //返回數組
        $i=0; //數組下標
        $query_result=@mysql_query($sql,$this->connection); //查詢數據
        while($row=@mysql_fetch_object($query_result))
        {
                $result_array[$i ]=$row;
        }//while
        return $result_array;
}

//獲得查詢結果的紀錄數函數
function result_query($sql)
{
        $result=mysql_query($sql);
        $result_c=mysql_num_rows($result);
        return $result_c;
}
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved