0

次のコードがあります。

class db { 
    //database class, connects and closes a database connection
    //some properties and methods are hided (such as host-adres, username...)

    public function connect()
    {
        mysql_connect(//parameters)or die(mysql_error());
    }
}

class ban {
    //ban class, bans an ip, again some methods and properties are hided

    public function banIP()
    {
        //here i want to access the connect function of the class db, 
        //without creating a object.
        //some code
    }
}

さて、私の質問は、クラス dbbanIP()の関数を使用して、メソッド内からデータベースに接続する必要があることです。connect()しかし、接続機能にアクセスするにはどうすればよいでしょうか?

4

2 に答える 2

6

クラス db のオブジェクトを宣言し、そのオブジェクトを使用してアクセスします。

   $object = new db();
   $object->connect();

オブジェクトを作成せずにメソッドにアクセスすることはできません。メソッドを含むクラス (クラス db) またはクラス db を継承するクラス (クラス ban) のオブジェクトを作成する必要があります。

 class ban extends db {
    public function banIP()
   {
     $this->connect(); //this acts as an object.
   }
 }
于 2013-01-03T14:57:00.270 に答える
0

これらのメソッドを継承したいクラスを拡張します。したがって、クラス禁止はdbを拡張する必要があります。

于 2013-01-03T14:58:00.927 に答える