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

资源魔 31 0

本文指标:

一、学会若何剖析一个名目,依照肯定的思绪

案例:

1、 应用面向工具的形式要求终极完成的成果为:

1.png

要求:

此中必需要应用的常识点:

1. 类的界说

2. 类的实例化

3. 工具的援用赋值=&

4. 析构函数

5. 结构函数

这个案例要完成的成果其实算很简略,然而重点是,你的思绪很分明吗?你的思绪能否具有肯定的层次性,或许说做了许多名目,你有无总结出一套你本人的零碎性的思绪计划呢?我的总结以下:

3个剖析:

一、流程剖析

二、详细的完成剖析

三、 数据库剖析

3个执行:

1.创立数据库,初始化数据库数据( 名目的启动数据 )

2.创立类,完成类

3.写流程

接上去咱们一个一个的剖析

一、流程剖析

一、猎取一切部门信息

二、猎取单个部门信息

三、写一个工具援用赋值=&的测试

例如$jordon1=&$jordon

四、正在一切逻辑最初写一句话:使用顺序到此为止

五、执行了一个类的析构函数

二、详细的完成剖析

一、第一步:辨认工具(找名词)

依据下面的流程咱们患上出的工具只有一个:

1.部门

二、第二步:辨认工具的属性( 数据名词+连系事实世界去剖析+连系详细的场景 )

1.部门:属性有:id,称号

三、第三步:辨认工具的办法( 动词+连系事实世界去剖析+连系详细的场景 )

1.部门 办法有

1.猎取一切部门信息

2.猎取单个部门信息

由于一切的数据都要保留到数据库,一切的数据都要从数据库猎取,以是接上去

数据库剖析:

表:(有几何个工具 至多就有几何个表)

1.部门 字段 = 工具的属性

剖析实现后,咱们接上去做详细的操作

一、创立数据库,初始化数据库数据( 名目的启动数据 )

创立数据库,名字咱们就叫做depart

创建数据库.png

为数据库创立表,标明就做叫部门表

4创建表.png

剖析能否有初始化数据,(咱们能够称之为名目的启动数据,不这些数据,名目无奈启动,)而后将这些初始化数据写入数据库

综上剖析,初始化数据就是3个部门

以是接上去咱们初始化数据库

5初始化数据.png

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 php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!