您好,登錄后才能下訂單哦!
這篇文章給大家分享的是php面向?qū)ο髮?shí)現(xiàn)輸出部門信息,相信大部分人都還沒學(xué)會(huì)這個(gè)技能,為了讓大家學(xué)會(huì),給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。
要求:
其中必須要使用的知識(shí)點(diǎn):
1. 類的定義
2. 類的實(shí)例化
3. 對(duì)象的引用賦值=&
4. 析構(gòu)函數(shù)
5. 構(gòu)造函數(shù)
這個(gè)案例要實(shí)現(xiàn)的效果其實(shí)算很簡(jiǎn)單,但是重點(diǎn)是,你的思路很清楚嗎?你的思路是否具備一定的條理性,或者說做了許多項(xiàng)目,你有沒有總結(jié)出一套你自己的系統(tǒng)性的思路方案呢?我的總結(jié)如下:
3個(gè)分析:
1、流程分析
2、具體的實(shí)現(xiàn)分析
3、 數(shù)據(jù)庫分析
3個(gè)執(zhí)行:
1.創(chuàng)建數(shù)據(jù)庫,初始化數(shù)據(jù)庫數(shù)據(jù)( 項(xiàng)目的啟動(dòng)數(shù)據(jù) )
2.創(chuàng)建類,實(shí)現(xiàn)類
3.寫流程
接下來我們一個(gè)一個(gè)的分析
1、流程分析
1、獲取所有部門信息
2、獲取單個(gè)部門信息
3、寫一個(gè)對(duì)象引用賦值=&的測(cè)試
例如$jordon1=&$jordon
4、在所有邏輯最后寫一句話:應(yīng)用程序到此為止
5、執(zhí)行了一個(gè)類的析構(gòu)函數(shù)
2、具體的實(shí)現(xiàn)分析
1、第一步:識(shí)別對(duì)象(找名詞)
根據(jù)上面的流程我們得出的對(duì)象只有一個(gè):
1.部門
2、第二步:識(shí)別對(duì)象的屬性( 數(shù)據(jù)名詞+結(jié)合現(xiàn)實(shí)世界去分析+結(jié)合具體的場(chǎng)景 )
1.部門:屬性有:id,名稱
3、第三步:識(shí)別對(duì)象的方法( 動(dòng)詞+結(jié)合現(xiàn)實(shí)世界去分析+結(jié)合具體的場(chǎng)景 )
1.部門 方法有
1.獲取所有部門信息
2.獲取單個(gè)部門信息
因?yàn)樗械臄?shù)據(jù)都要保存到數(shù)據(jù)庫,所有的數(shù)據(jù)都要從數(shù)據(jù)庫獲取,所以接下來
數(shù)據(jù)庫分析:
表:(有多少個(gè)對(duì)象 至少就有多少個(gè)表)
1.部門 字段 = 對(duì)象的屬性
分析完成后,我們接下來做具體的操作
1、創(chuàng)建數(shù)據(jù)庫,初始化數(shù)據(jù)庫數(shù)據(jù)( 項(xiàng)目的啟動(dòng)數(shù)據(jù) )
創(chuàng)建數(shù)據(jù)庫,名字我們就叫做depart
為數(shù)據(jù)庫創(chuàng)建表,表明就做叫部門表
分析是否有初始化數(shù)據(jù),(我們可以稱之為項(xiàng)目的啟動(dòng)數(shù)據(jù),沒有這些數(shù)據(jù),項(xiàng)目無法啟動(dòng),)然后將這些初始化數(shù)據(jù)寫入數(shù)據(jù)庫
綜上分析,初始化數(shù)據(jù)就是3個(gè)部門
所以接下來我們初始化數(shù)據(jù)庫
2.創(chuàng)建類,實(shí)現(xiàn)類
創(chuàng)建部門類:
為了方便管理,我們把所有的類放到model文件夾中,然后這個(gè)類文件我們就叫做Depart.class.php,然后我們把上面分析得出來的類的屬性和方法,寫入部門類中
model/Depart.class.php
<?php //部門類 class Depart{ //定義屬性 id,名稱 public $id = ""; public $name = ""; public $conn = "";//數(shù)據(jù)庫連接 public $tableName = "depart";//表名 //構(gòu)造函數(shù) public function __construct( $id,$name ){ //初始化屬性 $this->id = $id; $this->name = $name; //初始化行為 初始化方法 $this->initConn(); } //析構(gòu)函數(shù) 銷毀數(shù)據(jù)庫連接 public function __destruct(){ //銷毀連接 if( $this->conn ){ mysqli_close( $this->conn ); echo "銷毀了連接<br/>"; } } //定義方法 //創(chuàng)建公共的方法 獲取數(shù)據(jù)庫連接 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(){ //創(chuàng)建數(shù)據(jù)庫連接 $conn = $this->conn; //寫sql $sql = " select * from ".$this->tableName; //執(zhí)行sql $result = mysqli_query( $conn,$sql ); //獲取數(shù)據(jù) // mysqli_fetch_all($result)//特點(diǎn):不會(huì)包含字段名 $list = Array(); while( $row = mysqli_fetch_assoc( $result ) ){ $list[] = $row; } //返回?cái)?shù)據(jù) return $list; } // 2.獲取單個(gè)部門信息 public function getOne( $id ){ //創(chuàng)建數(shù)據(jù)庫連接 $conn = $this->conn; //寫sql $sql = " select * from ".$this->tableName." where id= ".$id; //執(zhí)行sql $result = mysqli_query( $conn,$sql ); //獲取數(shù)據(jù) // mysqli_fetch_all($result)//特點(diǎn):不會(huì)包含字段名 $list = Array(); while( $row = mysqli_fetch_assoc( $result ) ){ $list[] = $row; } //返回?cái)?shù)據(jù) return $list; } } ?>
3.寫流程
接下來,我們根據(jù)流程分析的結(jié)果來寫具體的流程,流程代碼如下:
<?php //引入類文件 require_once "model/Depart.class.php"; //寫流程 // 1.獲取所有部門信息 // $humanResourseDepartment = new Depart(2,"行政部門"); //通過對(duì)象調(diào)用方法 $alllist = $humanResourseDepartment->getAll(); echo "<b>所有部門信息為:</b><br/>"; print_r( $alllist ); echo "<br/>"; // 2.獲取單個(gè)部門信息 = 開發(fā)部門 $devDepartment = $humanResourseDepartment ->getOne( 1 ); echo "<b>開發(fā)部門信息:</b> <br/>"; print_r( $devDepartment ); echo "<br/>"; // 3.對(duì)象引用賦值=&的測(cè)試 // $jordon1=&$jordon $humanResourseDepartment1 =& $humanResourseDepartment; echo "修改前:行政部門的名字為:".$humanResourseDepartment->name."<br/>"; //修改 $humanResourseDepartment1->name = "人力部門"; echo "修改后:行政部門的名字為:".$humanResourseDepartment->name."<br/>"; // 4.在所有邏輯最后寫一句話:應(yīng)用程序到此為止 echo "<b>應(yīng)用程序到此為止</b> <br/>"; // 5.執(zhí)行了一個(gè)類的析構(gòu)函數(shù) ?>
運(yùn)行結(jié)果如下:
所有部門信息為:
Array ( [0] => Array ( [id] => 1 [name] => 開發(fā)部門 ) [1] => Array ( [id] => 2 [name] => 行政部門 ) [2] => Array ( [id] => 3 [name] => 后勤部門 ) )
開發(fā)部門信息:
Array ( [0] => Array ( [id] => 1 [name] => 開發(fā)部門 ) )
修改前:行政部門的名字為:行政部門
修改后:行政部門的名字為:人力部門
應(yīng)用程序到此為止
銷毀了連接
看完這篇文章,你們學(xué)會(huì)php面向?qū)ο髮?shí)現(xiàn)輸出部門信息2的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。