PHP Sınıf değişken erişim soru

3 Cevap php

Ben sorun bir sınıf 'değişkeni erişme yaşıyorum.

I sınıfta aşağıdaki fonksiyonları vardır.

class Profile { 

    var $Heading;

    // ...

    function setPageTitle($title)
    {
        $this->Heading = $title;
        echo 'S: ' . $this->Heading;
    }

    function getPageTitle2()
    {       
        echo 'G: ' . $this->Heading;
        return $this->Heading;
    }

// ...
}

Şimdi yöntemini çalıştırdığınızda $this->setPageTitle("test") Ben sadece almak

G: S: test

Ne getPageTitle2 fonksiyonu ile yanlış? Başlık btw herkese açıktır. Lütfen yardım edin!

Teşekkürler çocuklar!

3 Cevap

Şimdi yöntemini çalıştırdığınızda $this->setPageTitle("test") Ben sadece almak

G: S: test

Bu mantıksız geliyor. Çalıştırdığınız emin misin:

$this->getPageTitle2();
$this->setPageTitle("test");

PHP - çoğu programlama dilleri gibi - bir zorunluluk dildir. Bu şeyler konularda yapmak sırayı demektir. Değişken $this->Header Eğer getPageTitle2 diyoruz anda ayarlı değil.

Eğer fonksiyonu dışında İlerleyişini ve başlık bildirmek zorunda ... ben zaten yaptım olmadığını bilmiyorum

işlevlerini çağıran sırasını görmek

class Profile { 

var $Heading;

// ...

function setPageTitle($title)
{
    $this->Heading = $title;
    echo 'S: ' . $this->Heading;
}

function getPageTitle2()
{       
    echo 'G: ' . $this->Heading;
    return $this->Heading;
}

// ...
}

Ben böyle bir şey yapıyorsun tahmin ediyorum:

$profile = new Profile();
$profile->setPageTitle("test");
$profile->getPageTitle2();

ve bu aşağıdaki çıkışı neden olacağını:

S: testG: test

ve size echo $profile Sadece alacak eğer

test

böylece sorun nedir sizce ya da size istediğiniz ne başarabilmiş değil mi?

Ayrıca ben muhtemelen $Heading olarak ilan ediyorum

private $heading;