面向对象和面向过程的区别

来源:互联网 发布:7号淘宝店网址 编辑:程序博客网 时间:2024/05/17 06:26

  下面举个小例子说明一下:

php连接数据库:

面向过程:$conn = mysql_connect('服务器名称', '数据库登陆名', '密码') or die('连接不成功!');
          mysql_select_db('库名', $conn) or die('数据库不存在!');
          $queryid = mysql_query("select * from sort");
          while ($rs = mysql_fetch_assoc($queryid)) {
          echo $rs['name'], '<br>';

面向对象:1.建个php文件叫db.php,把上面的代码封装成一个类:

         class db {
             private $conn; //属性
             private $queryid; //属性
             //构造函数
             public function db($host, $dbuser, $dbpasswd, $dbname) {
             $this->conn = mysql_connect($host, $dbuser, $dbpasswd) or die('连接不成功!');
             mysql_select_db($dbname, $this->conn) or die('数据库不存在!');
        }
        //查询方法
       public function query($sql) {
        $this->queryid = mysql_query($sql, $this->conn);
       }
       public function fetch_assoc() {
        return mysql_fetch_assoc($this->queryid);
       }
       }

       2.在a.php文件中实例化,代码使用变得简结和容易理解,代码的重用性
          inclode('db.php');
          $db = new db('服务器名', '数据库登录名', '密码', '库名');
          $db->query("select * from sort");
          while ($rs = $db->fetch_assoc()) {
              echo $rs['name'], '<br>';
          }