je sais que vous pouvez affecter la valeur de retour d'une fonction à une variable et de l'utiliser, comme ceci:Affectation du résultat d'une fonction à une variable dans une classe PHP? POO Weirdness
function standardModel()
{
return "Higgs Boson";
}
$nextBigThing = standardModel();
echo $nextBigThing;
Alors quelqu'un s'il vous plaît me dire pourquoi ce qui suit ne fonctionne pas? Ou n'est-ce pas encore implémenté? Est-ce que je manque quelque chose?
class standardModel
{
private function nextBigThing()
{
return "Higgs Boson";
}
public $nextBigThing = $this->nextBigThing();
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing; // get var, not the function directly
Je sais que je pouvais faire:
class standardModel
{
// Public instead of private
public function nextBigThing()
{
return "Higgs Boson";
}
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing(); // Call to the function itself
Mais dans le cas de mon projet, toutes les informations stockées dans la classe sont vars publics prédéfinis, sauf un d'entre eux, qui doit calculer la valeur à l'exécution.
Je le veux cohérent donc moi-même ou tout autre développeur utilisant ce projet doit se rappeler qu'une valeur doit être un appel de fonction plutôt qu'un appel var.
Mais ne vous inquiétez pas pour mon projet, je me demande principalement pourquoi l'incohérence dans l'interpréteur de PHP? De toute évidence, les exemples sont faits pour simplifier les choses. S'il vous plaît ne pas question "pourquoi" je dois mettre cette fonction dans la classe. Je n'ai pas besoin d'une leçon sur la bonne POO et c'est juste une preuve de concept. Merci!
DOH Pourquoi ne pas que je pense à essayer cela. Merci mec. – Jay