douxiongye5779 2017-03-07 11:28
浏览 84
已采纳

PHP - Mysqli连接使用面向对象的方式打开和关闭 - MySQLi

I am trying to find a way which does the following

  • Object Oriented way
  • Closing the connection efficiently
  • closing a connection anyways

    <?php 
    
     define("HOST", "localhost");
     define("USER", "username");
     define("PASS", "password");
     define("DBNM", "database");
    
     class ConnectionTest extends mysqli {
    
        private $link;
    
        function __construct() {
            $this->link = new mysqli(HOST, USER, PASS, DBNM);
        }
    
        function getLink(){
            return $this->link;
        }
    
        function __destruct() {
            mysqli_close($this->link)
        }
     }
    ?>
    

To try to get to my objective

  1. Object Oriented way - Used a class
  2. closing connection efficiently - defined a function to close the connection
  3. closing a connection anyways - set the same function to be destructor of that class

As I am new to PHP, I would like to know:

  • Is this technique proper?
  • What complications could occur? or what are the disadvantages to this technique?
  • Is there any improvement needed in this code?
  • 写回答

1条回答 默认 最新

  • downloadTemp2014 2017-03-07 11:57
    关注

    Frankly, this class of yours makes very little sense as it effectively duplicates mysqli. All the things you want to achieve, are already implemented in mysqli:

    1. Object Oriented way - Mysqli is a class already.
    2. There is a function in mysqli to close a connection as well
    3. Which is closing a connection efficiently.

    So I fail to see how is your class any better than mysqli.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题