当前位置:首页 > 综合实例 > 列表

一个简单的部门案例详解(PHP代码实例)

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-18 10:06:24 浏览: 评论:0 

本文目标:

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

  1. <?php 
  2.  
  3. //部门类 
  4.  
  5. class Depart{ 
  6.  
  7.     //定义属性 id,名称 
  8.  
  9.     public $id = ""
  10.  
  11.     public $name = ""
  12.  
  13.     public $conn = "";//数据库连接 
  14.  
  15.     public $tableName = "depart";//表名 
  16.  
  17.     //构造函数 
  18.  
  19.     public function __construct( $id,$name ){ 
  20.  
  21.         //初始化属性 
  22.  
  23.         $this->id = $id
  24.  
  25.         $this->name = $name
  26.  
  27.         //初始化行为 初始化方法 
  28.  
  29.         $this->initConn(); 
  30.  
  31.     } 
  32.  
  33.     //析构函数 销毁数据库连接 
  34.  
  35.     public function __destruct(){ 
  36.  
  37.         //销毁连接 
  38.  
  39.         if$this->conn ){ 
  40.  
  41.             mysqli_close( $this->conn ); 
  42.  
  43.             echo "销毁了连接<br/>"
  44.  
  45.         } 
  46.  
  47.     } 
  48.  
  49.       
  50.  
  51.     //定义方法 
  52.  
  53.     //创建公共的方法 获取数据库连接 
  54.  
  55.     public function initConn(){ 
  56.  
  57.         $config = Array( 
  58.  
  59.             "hostname"=>"127.0.0.1"
  60.  
  61.             "database"=>"depart"
  62.  
  63.             "username"=>"root"
  64.  
  65.             "password"=>"root" 
  66.  
  67.         ); 
  68.  
  69.         $this->conn = mysqli_connect( $config['hostname'],$config['username'] ,$config['password'], 
  70.  
  71.                 $config['database']); 
  72.  
  73.     } 
  74.  
  75.     // 1.获取所有部门信息 
  76.  
  77.     public function getAll(){ 
  78.  
  79.         //创建数据库连接 
  80.  
  81.         $conn = $this->conn; 
  82.  
  83.         //写sql 
  84.  
  85.         $sql = " select * from ".$this->tableName; 
  86.  
  87.         //执行sql 
  88.  
  89.         $result = mysqli_query( $conn,$sql ); 
  90.  
  91.         //获取数据 
  92.  
  93.         // mysqli_fetch_all($result)//特点:不会包含字段名 
  94.  
  95.         $list = Array(); 
  96.  
  97.         while$row = mysqli_fetch_assoc(  $result ) ){ 
  98.  
  99.             $list[] = $row
  100.  
  101.         } 
  102.  
  103.         //返回数据 
  104.  
  105.         return $list
  106.  
  107.     } 
  108.  
  109.     // 2.获取单个部门信息 
  110.  
  111.     public function getOne( $id ){ 
  112.  
  113.         //创建数据库连接 
  114.  
  115.         $conn = $this->conn; 
  116.  
  117.         //写sql 
  118.  
  119.         $sql = " select * from ".$this->tableName." where id= ".$id;  
  120.  
  121.         //执行sql 
  122.  
  123.         $result = mysqli_query( $conn,$sql ); 
  124.  
  125.         //获取数据 
  126.  
  127.         // mysqli_fetch_all($result)//特点:不会包含字段名 
  128.  
  129.         $list = Array(); 
  130.  
  131.         while$row = mysqli_fetch_assoc(  $result ) ){ 
  132.  
  133.             $list[] = $row
  134.  
  135.         } 
  136.  
  137.         //返回数据 
  138.  
  139.         return $list
  140.  
  141.     } 
  142.  
  143.  
  144. ?> 

3.写流程

接下来,我们根据流程分析的结果来写具体的流程,流程代码如下:

  1. <?php 
  2.  
  3. //引入类文件 
  4.  
  5. require_once "model/Depart.class.php"
  6.  
  7.  
  8.  
  9. //写流程 
  10.  
  11. // 1.获取所有部门信息 
  12.  
  13. // 
  14.  
  15. $humanResourseDepartment = new Depart(2,"行政部门"); 
  16.  
  17. //通过对象调用方法   
  18.  
  19. $alllist = $humanResourseDepartment->getAll(); 
  20.  
  21.  
  22.  
  23.  
  24.  
  25. echo "<b>所有部门信息为:</b><br/>"
  26.  
  27. print_r( $alllist ); 
  28.  
  29. echo "<br/>"
  30.  
  31. // 2.获取单个部门信息 = 开发部门 
  32.  
  33. $devDepartment = $humanResourseDepartment ->getOne( 1 ); 
  34.  
  35. echo "<b>开发部门信息:</b>  <br/>"
  36.  
  37. print_r( $devDepartment ); 
  38.  
  39. echo "<br/>"
  40.  
  41. // 3.对象引用赋值=&的测试 
  42.  
  43. //      $jordon1=&$jordon 
  44.  
  45. $humanResourseDepartment1 =& $humanResourseDepartment
  46.  
  47. echo "修改前:行政部门的名字为:".$humanResourseDepartment->name."<br/>"
  48.  
  49. //修改 
  50.  
  51. $humanResourseDepartment1->name = "人力部门"
  52.  
  53. echo "修改后:行政部门的名字为:".$humanResourseDepartment->name."<br/>"
  54.  
  55. // 4.在所有逻辑最后写一句话:应用程序到此为止 
  56.  
  57. echo "<b>应用程序到此为止</b>  <br/>"
  58.  
  59.  
  60.  
  61. // 5.执行了一个类的析构函数 
  62.  
  63. ?> 

运行结果如下:

所有部门信息为:

Array ( [0] => Array ( [id] => 1 [name] => 开发部门 ) [1] => Array ( [id] => 2 [name] => 行政部门 ) [2] => Array ( [id] => 3 [name] => 后勤部门 ) )

开发部门信息:

Array ( [0] => Array ( [id] => 1 [name] => 开发部门 ) )

修改前:行政部门的名字为:行政部门

修改后:行政部门的名字为:人力部门

应用程序到此为止

销毁了连接

(二)、总结:

1、主要记录了一下我的项目分析思路

希望本文能给大家带来一定的帮助,谢谢!!

Tags: PHP部门案例

分享到: