SORU
28 ŞUBAT 2010, Pazar


PHP Ölümcül hata: nesne bağlamında değil, bu $Kullanarak

Bir sorun var:

Bir Çerçeve olmadan yeni bir Web uygulaması yazıyorum.

Benim içindeindex.phpım kullanarak: require_once('load.php'); * load.php* require_once('class.php'); benim yüklemek için kullanıyorumclass.php.

Benim içindeclass.phpBu hata var:

Ölümcül hata: satır ... (bu örnekte 11 olur) class.php nesne bağlamında değil, bu $Kullanarak

Bir örnek nasılclass.phpyazılır:

class foobar {

    public $foo;

    public function __construct() {
        global $foo;

        $this->foo = $foo;
    }

    public function foobarfunc() {
        return $this->foo();
    }

    public function foo() {
        return $this->foo;
    }
}

Benim içindeindex.phpBelki de böyle foobarfunc() dolduruyorum:

foobar::foobarfunc();

ama aynı zamanda olabilir

$foobar = new foobar;
$foobar->foobarfunc();

Neden bu hata geliyor?

CEVAP
28 ŞUBAT 2010, Pazar


Benim index.php belki dolduruyorum () foobarfunc bu gibi:

 foobar::foobarfunc();  // Wrong, it is not static method

ama aynı zamanda olabilir

$foobar = new foobar;  // correct
$foobar->foobarfunc();

Statik bir yöntem değildir, çünkü yöntem bu şekilde çağırabilirsiniz.

foobar::foobarfunc();

Bunun yerine kullandığınız:

foobar->foobarfunc();

Ancak statik bir yöntem oluşturulmuş gibi bir şey

static $foo; // your top variable set as static

public static function foo() {
    return self::$foo;
}

sonra bu kullanabilirsiniz:

foobar::foobarfunc();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008