一個簡單的部門案例詳解(PHP程式碼範例)

2020-07-16 10:05:51

本文目標:

1、學會如何分析一個專案,按照一定的思路

案例:

一、 使用物件導向的方式要求最終實現的效果為:

1.png

要求:

其中必須要使用的知識點:

1. 類的定義

2. 類的範例化

3. 物件的參照賦值=&

4. 解構函式

5. 建構函式

這個案例要實現的效果其實算很簡單,但是重點是,你的思路很清楚嗎?你的思路是否具備一定的條理性,或者說做了許多專案,你有沒有總結出一套你自己的系統性的思路方案呢?我的總結如下:

3個分析:

1、流程分析

2、具體的實現分析

3、 資料庫分析

3個執行:

1.建立資料庫,初始化資料庫資料( 專案的啟動資料 )

2.建立類,實現類

3.寫流程

接下來我們一個一個的分析

1、流程分析

1、獲取所有部門資訊

2、獲取單個部門資訊

3、寫一個物件參照賦值=&的測試

例如$jordon1=&$jordon

4、在所有邏輯最後寫一句話:應用程式到此為止

5、執行了一個類的解構函式

2、具體的實現分析

1、第一步:識別物件(找名詞)

根據上面的流程我們得出的物件只有一個:

1.部門

2、第二步:識別物件的屬性( 資料名詞+結合現實世界去分析+結合具體的場景 )

1.部門:屬性有:id,名稱

3、第三步:識別物件的方法( 動詞+結合現實世界去分析+結合具體的場景 )

1.部門 方法有

1.獲取所有部門資訊

2.獲取單個部門資訊

因為所有的資料都要儲存到資料庫,所有的資料都要從資料庫獲取,所以接下來

資料庫分析:

表:(有多少個物件 至少就有多少個表)

1.部門 欄位 = 物件的屬性

分析完成後,我們接下來做具體的操作

1、建立資料庫,初始化資料庫資料( 專案的啟動資料 )

建立資料庫,名字我們就叫做depart

創建數據庫.png

為資料庫建立表,表明就做叫部門表

4創建表.png

分析是否有初始化資料,(我們可以稱之為專案的啟動資料,沒有這些資料,專案無法啟動,)然後將這些初始化資料寫入資料庫

綜上分析,初始化資料就是3個部門

所以接下來我們初始化資料庫

5初始化數據.png

2.建立類,實現類

建立部門類:

為了方便管理,我們把所有的類放到model資料夾中,然後這個類檔案我們就叫做Depart.class.php,然後我們把上面分析得出來的類的屬性和方法,寫入部門類中

model/Depart.class.php

<?php
//部門類
class Depart{
    //定義屬性 id,名稱
    public $id = "";
    public $name = "";
    public $conn = "";//資料庫連線
    public $tableName = "depart";//表名
    //建構函式
    public function __construct( $id,$name ){
        //初始化屬性
        $this->id = $id;
        $this->name = $name;
        //初始化行為 初始化方法
        $this->initConn();
    }
    //解構函式 銷毀資料庫連線
    public function __destruct(){
        //銷毀連線
        if( $this->conn ){
            mysqli_close( $this->conn );
            echo "銷毀了連線<br/>";
        }
    }
    
    //定義方法
    //建立公共的方法 獲取資料庫連線
    public function initConn(){
        $config = Array(
            "hostname"=>"127.0.0.1",
            "database"=>"depart",
            "username"=>"root",
            "password"=>"root"
        );
        $this->conn = mysqli_connect( $config['hostname'],$config['username'] ,$config['password'],
                $config['database']);
    }
    // 1.獲取所有部門資訊
    public function getAll(){
        //建立資料庫連線
        $conn = $this->conn;
        //寫sql
        $sql = " select * from ".$this->tableName;
        //執行sql
        $result = mysqli_query( $conn,$sql );
        //獲取資料
        // mysqli_fetch_all($result)//特點:不會包含欄位名
        $list = Array();
        while( $row = mysqli_fetch_assoc(  $result ) ){
            $list[] = $row;
        }
        //返回資料
        return $list;
    }
    // 2.獲取單個部門資訊
    public function getOne( $id ){
        //建立資料庫連線
        $conn = $this->conn;
        //寫sql
        $sql = " select * from ".$this->tableName." where id= ".$id; 
        //執行sql
        $result = mysqli_query( $conn,$sql );
        //獲取資料
        // mysqli_fetch_all($result)//特點:不會包含欄位名
        $list = Array();
        while( $row = mysqli_fetch_assoc(  $result ) ){
            $list[] = $row;
        }
        //返回資料
        return $list;
    }
}
?>

3.寫流程

接下來,我們根據流程分析的結果來寫具體的流程,流程程式碼如下:

<?php
//引入類檔案
require_once "model/Depart.class.php";

//寫流程
// 1.獲取所有部門資訊
//
$humanResourseDepartment = new Depart(2,"行政部門");
//通過物件呼叫方法  
$alllist = $humanResourseDepartment->getAll();


echo "<b>所有部門資訊為:</b><br/>";
print_r( $alllist );
echo "<br/>";
// 2.獲取單個部門資訊 = 開發部門
$devDepartment = $humanResourseDepartment ->getOne( 1 );
echo "<b>開發部門資訊:</b>  <br/>";
print_r( $devDepartment );
echo "<br/>";
// 3.物件參照賦值=&的測試
//      $jordon1=&$jordon
$humanResourseDepartment1 =& $humanResourseDepartment;
echo "修改前:行政部門的名字為:".$humanResourseDepartment->name."<br/>";
//修改
$humanResourseDepartment1->name = "人力部門";
echo "修改後:行政部門的名字為:".$humanResourseDepartment->name."<br/>";
// 4.在所有邏輯最後寫一句話:應用程式到此為止
echo "<b>應用程式到此為止</b>  <br/>";

// 5.執行了一個類的解構函式
?>

執行結果如下:

所有部門資訊為:
Array ( [0] => Array ( [id] => 1 [name] => 開發部門 ) [1] => Array ( [id] => 2 [name] => 行政部門 ) [2] => Array ( [id] => 3 [name] => 後勤部門 ) )
開發部門資訊:
Array ( [0] => Array ( [id] => 1 [name] => 開發部門 ) )
修改前:行政部門的名字為:行政部門
修改後:行政部門的名字為:人力部門
應用程式到此為止
銷毀了連線

(二)、總結:

1、主要記錄了一下我的專案分析思路

希望本文能給大家帶來一定的幫助,謝謝!!

以上就是一個簡單的部門案例詳解(PHP程式碼範例)的詳細內容,更多請關注TW511.COM其它相關文章!