1、學會如何分析一個項目,依照一定的想法
案例:
要求:
#其中必須使用的知識點:
1. 類別的定義
2. 類別的實例化
3. 物件的引用賦值=&
4. 分析構子
5. # 建構函數
這個案例要實現的效果其實算很簡單,但重點是,你的想法很清楚嗎?你的思路是否具備一定的條理性,或者做了許多項目,你有沒有總結出一套你自己的系統性的思路方案呢?我的總結如下:
3個分析:
1、流程分析
2、具體的實作分析
#3 , 資料庫分析
3 執行:
1.建立資料庫,初始化資料庫資料( 專案的啟動資料 )
2.建立類別,實作類別
3.寫流程
接下來我們一個一個的分析
##1、流程分析
1、取得所有部門資訊2、取得單一部門資訊3、寫一個物件引用賦值=&的測試 例如$jordon1=&$ jordon4、在所有邏輯最後寫一句話:應用程式到此為止#5、執行了一個類別的析構函數2、具體實現的分析
1、第一步:辨識物件(找名詞) 則以上面的流程所得到的物件只有一個:資料庫分析:
表:(有多少個物件至少有多少表) 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程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!