send_notification関数をGCM含むクラスがあります。別のクラスでDemand.php、send_notification関数を使用しようとしています。したがって、次のようにクラスDemand.phpを指すコンストラクターがあります。GCM
 $gcm = new GCM();
この$gcm変数は、次のようなクラス内の関数で使用されます。
$result = $gcm->send_notification($registatoin_ids, $message);
ここでエラーが発生します。
<br />n<b>Fatal error</b>:  Call to a member function send_notification() on a non-object in..
問題を検索したところ、問題$gcmはnullであることがわかりました。そのため、何も呼び出されていません。だから私が置くとき
$gcm = new GCM();
私の関数内では正しく機能しました。しかし、これを行う他の方法はありませんか?つまり、 ?$gcmのコンストラクターにcreateingを入れるだけでは大丈夫ではないということです。Demand.php
これが私が言及している部分です:
function __construct() {
    require_once 'GCM.php';
    require_once 'DB_Connect.php';
    require_once 'DB_Functions.php';
    // connecting to database
    $this->db = new DB_Connect();
    $this->db->connect();
    $gcm = new GCM();
    $df = new DB_Functions();
}
// destructor
function __destruct() {
}
public function getDistance($uuid, $name, $distance, $latstart, $lonstart, $latend, $lonend, $gcm_regId) {
    $user_new = array ("$uuid", "$name", "$distance","$latstart", "$lonstart", "$latend", "$lonend","$gcm_regId");  
    $query = sprintf("SELECT uid, distance,latstart, lonstart, latend, lonend, gcm_regid, name FROM user_demand WHERE latstart='%s' AND lonstart='%s'",
    mysql_real_escape_string($latstart),
    mysql_real_escape_string($lonstart));
    $user = mysql_query($query);
    $no_of_rows = mysql_num_rows($user);
    while($user_old = mysql_fetch_assoc($user))
    {
        $djson = $this->findDistance($latend,$lonend,$user_old["latend"],$user_old["lonend"] );
        if ($user_old["distance"]+$distance>=$djson) {
            $match = mysql_query("INSERT INTO matched_users(gcm_a, gcm_b, name_a, name_b) VALUES(".$user_old['gcm_regid'].",".$user_new['gcm_regId'].",".$user_old['name'].",".$user_new['name'].")");
            $registatoin_ids = array($gcm_regId);
            $message = array("var" => $name);
            $result = $gcm->send_notification($registatoin_ids, $message);
        }
    }
}