Bir PHP sınıfı içinde bir değişkene bir işlevin sonucu Atama?

0 Cevap php

Ben bir değişken için bir işlevin dönüş değeri atamak ve bu gibi kullanabilirsiniz biliyorum:

function standardModel()
{
    return "Higgs Boson";   
}

$nextBigThing = standardModel();

echo $nextBigThing;

Aşağıdaki çalışmıyor yüzden birisi bana lütfen söyler misiniz? Ya da henüz uygulanmadı? Ben bir şey eksik?

class standardModel
{
    private function nextBigThing()
    {
        return "Higgs Boson";   
    }

    public $nextBigThing = $this->nextBigThing();   
}

$standardModel = new standardModel;

echo $standardModel->nextBigThing; // get var, not the function directly

Biliyorum could bunu:

class standardModel
{
    // Public instead of private
    public function nextBigThing()
    {
        return "Higgs Boson";   
    }
}

$standardModel = new standardModel;

echo $standardModel->nextBigThing(); // Call to the function itself

Ama projenin durumda, sınıf içinde depolanan tüm bilgileri zamanında değerini hesaplamak gerekiyor önceden tanımlanmış kamu vars, bunlardan except biri vardır.

Ben tutarlı yüzden ben, ne de bu projeyi kullanan başka herhangi bir geliştirici bir değer ziyade işlev çağrısı var çağrı olması gerektiğini hatırlamak zorunda istiyorum.

Ama çoğunlukla sadece PHP'nin tercüman içinde neden tutarsızlık merak ediyorum, benim proje hakkında endişelenmeyin?

Obviously, the examples are made up to simplify things. Please don't question "why" I need to put said function in the class. I don't need a lesson on proper OOP and this is just a proof of concept. Thanks!

0 Cevap