php || 构造 析构方法 数据库类

构造方法:实例化后自动运行。析构方法:类被销毁后自动运行。
类:

<?php
        class Mysql{
    
    
                protected $link="";//受保护属性

                //__construct构造方法,数据库连接,在new Mysql()后自动运行,可
以传参数,不用调用,返回值return没有作用,不用写,只能是Public
                function __construct($host,$username,$password,$dbname){
    
    
                        $link = mysqli_connect($host,$username,$password,$dbname);
                        if (!$link){
    
    
                                return "连接失败:".mysqli_connect_error();
                        }else{
    
    
                                $this->link = $link;
                                return $link;
                        }
                }

                //数据库语句
                function query($sql){
    
    
                        if(preg_match('/^select/i',$sql)){
    
    
                                $result = mysqli_query($this->link,$sql);
                                if($result){
    
    
                                        return mysqli_fetch_all($result,MYSQLI_ASSOC);
                                }else{
    
    
//                                      return mysqli_fetch_all($result,MYSQLI_ASSOC);
//                                      return false;
                                }

                        }elseif(peeg_match('/^insert/i',$sql)){
    
    
                                $result = mysqli_query($this->link,$sql);
                                $id = mysqli_insert_id($this->link);
                                return $id;
                        }else{
    
    
                                $result = mysqli_query($this->link,$sql);
                                return $result;
                        }
                }
                
                //析构方法,当类对象被销毁时,该析构方法会自动执行,不用调用,只>能是Public
                function __destruct(){
    
    
                        echo "运行结束";
                        return mysqli_close($this->link);
                }
        }
?>

实例对象:

<?php
        require("./fangfa_class.php");

        //实例化参数为构造方法的参数
        $ob = new Mysql('localhost','jsj18137','123456','jsj18137');

        $arr = $ob->query("select * from news limit 2");
        var_dump($arr);

        //当运行到这里,程序关闭后,该类的析构方法会自动调用。用inset($ob),销毁
实例对象时也会自动调用析构方法
?>

图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45703155/article/details/107700735