Я знаю, что вы можете присвоить возвращаемое значение функции переменной и использовать его, например, так:
function standardModel()
{
return "Higgs Boson";
}
$nextBigThing = standardModel();
echo $nextBigThing;
Итак, кто-то, пожалуйста, скажите мне, почему следующее не работает?Или это просто еще не реализовано?Я что-то упустил?
class standardModel
{
private function nextBigThing()
{
return "Higgs Boson";
}
public $nextBigThing = $this->nextBigThing();
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing; // get var, not the function directly
Я знаю, что я мог бы сделать это:
class standardModel
{
// Public instead of private
public function nextBigThing()
{
return "Higgs Boson";
}
}
$standardModel = new standardModel;
echo $standardModel->nextBigThing(); // Call to the function itself
Но в случае моего проекта вся информация, хранящаяся в классеявляются предопределенными общедоступными переменными, за исключением одного из них, который должен вычислять значение во время выполнения.
Я хочу, чтобы оно было согласованным, поэтому я, как и любой другой разработчик, использующий этот проект, должен помнить это одно значениедолжен быть вызов функции, а не вызов var.
Но не беспокойтесь о моем проекте, я в основном просто задаюсь вопросом, почему несоответствие в интерпретаторе PHP?
Очевидно,примеры составлены для упрощения вещей.Пожалуйста, не задавайтесь вопросом «почему», я должен поместить указанную функцию в класс.Мне не нужен урок по правильному ООП, и это всего лишь доказательство концепции.Спасибо!