您好,登錄后才能下訂單哦!
這篇文章給大家分享的是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
為數據庫創建表,表明就做叫部門表
分析是否有初始化數據,(我們可以稱之為項目的啟動數據,沒有這些數據,項目無法啟動,)然后將這些初始化數據寫入數據庫
綜上分析,初始化數據就是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] => 開發部門 ) )
修改前:行政部門的名字為:行政部門
修改后:行政部門的名字為:人力部門
應用程序到此為止
銷毀了連接
看完這篇文章,你們學會php面向對象實現輸出部門信息2的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。