首頁 >後端開發 >php教程 >一個簡單的部門案例詳解(PHP程式碼實例)

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

易达
易达原創
2020-05-31 18:45:242062瀏覽

本文目標:

1、學會如何分析一個項目,依照一定的想法

案例:

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

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

要求:

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

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

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

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

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

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

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

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

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

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[&#39;hostname&#39;],$config[&#39;username&#39;] ,$config[&#39;password&#39;],
                $config[&#39;database&#39;]);
    }
    // 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程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn