1、學會如何分析一個專案,按照一定的思路
案例:
要求:
其中必須要使用的知識點:
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
為資料庫建立表,表明就做叫部門表
分析是否有初始化資料,(我們可以稱之為專案的啟動資料,沒有這些資料,專案無法啟動,)然後將這些初始化資料寫入資料庫
綜上分析,初始化資料就是3個部門
所以接下來我們初始化資料庫
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其它相關文章!