3

PHP で mysql を実装する場合、手続き型アプローチよりもオブジェクト指向アプローチを使用することに大きな違いはありますか? についての php Web サイトmysqli_query( http://www.php.net/manual/en/mysqli.query.php ) では、両方の例が提供されており、パフォーマンスに大きな違いがあるかどうかを知りたいだけです。それぞれをいつ使用するかを知ってください。

4

3 に答える 3

4

どちらが優れているかの答えは、「場合による」です。何でもそうであるように、さまざまなアプローチがあり、オブジェクトを使用するコードは必ずしもオブジェクト指向であるとは限りませんが、それでも手続き的に記述できることを覚えておく必要があります。同様に、オブジェクトを使用しないコードもモジュール化できます。

mysqliただし、毎回クラスを使用することを選択します。パフォーマンスに大きな違いはありません。おそらく、単純化されたポリモーフィズムなど、DB クラスを使用する利点のいくつかを理解していないので、このクラスを使用する唯一の理由は、構文が好きだということだけです。ただし、直接使用するよりも、mysqli拡張または構成することをお勧めします。クラスでのみこれを行うことができます。

class DB extends mysqli {
    public function __construct() {
        parent::__construct($_SERVER['DB_HOST'],
            $_SERVER['DB_USER'], $_SERVER['DB_PASS']);
    }
}

これは非常に浅い例です。

上記で説明したポリモーフィズムの例は、次のようなものです。

class User implements DAO {
    private $db;
    public function __construct(DB $db) {
        $this->db = $db;
    }
}

//Testing code is simplified compared to using it in production
class TestDB extends DB {}
new User(new TestDB);
new User(new DB);

ちなみに、私は断固PDOとしてmysqli

于 2013-06-22T15:26:24.763 に答える
0

あなたはインターンなので、将来誰がコードを保守するかを調べることをお勧めします。

  1. OOPは現在の慣行であるため、これに満足している場合は、OOPを使用してください。
  2. インハウス。現在の慣行に進み、うまくいけばOOP
于 2013-06-22T19:22:13.170 に答える