1

SQLqueryというクラスでSQL 関数を作成しましたSQLHandling 。次のようになります。

 /***********************************************************
    * SQLquery takes a full SQL query and runs it
    * If it fails it will return an error otherwise it will return
    * the SQL query as given.
    ************************************************************/   
    function SQLquery($query)  { 

        $q = mysql_query($query);

        if(!$q) {
            die(mysql_error());
            return false;
        } else {
            return $q;          
        }
    }

とにかく、追加せずに他のクラス関数でこの関数を使用できますか

$db = new SQLHandling();
$db->SQLquery($sql);

私がそれを使用するすべての機能で。

走れることはわかっていますSQLHandling::SQLquery($sql);が、それを避けようとしています。

4

2 に答える 2

2

継承を使用する

参照: http: //php.net/manual/en/language.oop5.inheritance.php

ただし、それでも、parent :: fun()または$ this-> fun()を使用するか、パブリック関数として配置してから、任意の場所を使用する必要があります。

例:

<?php

function c()
{
        echo "moi";
}    

class b extends a
{       
   public function d(){

    parent::c();//Hai
    $this->c();//Hai
    c();//moi

    }   


}


class a{    



    public function c(){
        echo "Hai";

    }       
} 


$kk = new b();
$kk -> d();

?>
于 2012-06-12T08:09:37.717 に答える
1

次のように、クラス レベルで SQLHandling をインスタンス化できます。

    private $db;

    public function __construct()
    {
        $this->db = new SQLHandling();
    }

    public function x()
    {
        $this->db->query('X');
    }
于 2012-06-12T08:13:49.713 に答える