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

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?

我试图找到一种方法来执行以下操作 p>

  • 面向对象的方式 li>
  • 高效关闭连接 li>
  • 无论如何关闭连接 p>

     &lt  ;?php 
     
     define(“HOST”,“localhost”); 
    define(“USER”,“username”); 
     define(“PASS”,“password”); 
    define(“DBNM  “,”数据库“); 
     
    类ConnectionTest扩展了mysqli {
     
     private $ link; 
     
    函数__construct(){
     $ this-&gt; link = new mysqli(HOST,USER,PASS  ,DBNM); 
    } 
     
    函数getLink(){
    返回$ this-&gt; link; 
    } 
     
    函数__destruct(){
     mysqli_close($ this-&gt; link)\  n} 
    } 
    ?&gt; 
      code>  pre>  li> 
      ul> 
     
     

    尝试达到我的目标 p>

    1. 面向对象的方式 - 有效地使用类 li>
    2. 关闭连接 - 定义了一个关闭连接的函数 li>
    3. 无论如何关闭连接 - 将相同的函数设置为该类的析构函数 li> ol>

      由于我是PHP新手,我想知道: p>

      • 这种技术是否合适? li>
      • 会发生什么并发症? 或者这项技术的缺点是什么? li>
      • 此代码是否需要改进? li> ul> div>

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.