Php 类属性的值中是否有变量?

Php 类属性的值中是否有变量?,php,Php,在我的课堂上,我有一些属性。我希望其中的一些值具有另一个属性。但我注意到这是不可能的 代码: 生成了一个错误 我用构造函数设置$this->name 你能做到这一点吗?如果可能的话,我希望在属性中定义“我的名字是:”而不是在构造函数中定义 谢谢。您必须使用$this->variable来访问对象自己的变量 $this->property = "my name is: " . $this->name; 这只在对象本身内部起作用。您可以在这里找到更多信息:。您可以使用变量做一些事情:

在我的课堂上,我有一些属性。我希望其中的一些值具有另一个属性。但我注意到这是不可能的

代码:

生成了一个错误

我用构造函数设置$this->name

你能做到这一点吗?如果可能的话,我希望在属性中定义“我的名字是:”而不是在构造函数中定义


谢谢。

您必须使用$this->variable来访问对象自己的变量

$this->property = "my name is: " . $this->name;

这只在对象本身内部起作用。您可以在这里找到更多信息:。

您可以使用变量做一些事情:

$property = 'name';

echo "my name is: {$$property}";
在本例中,$property的计算结果为'name',并且$name是前缀,因此$name是结果。这种方法可能会有危险,我希望你能理解

我会质疑你在这里想做什么。如果你想模板消息,考虑这样的事情:

$template = 'hi my name is %name%';
echo str_replace('%name%', $name, $template);

更一般地说,在设计语言时使用对象属性,必要时添加方法以生成输出字符串。变量通常是不必要的。

您需要做的就是添加括号

$property = "my name is: {$this->name}";

虽然这也取决于它给出的错误。它是否说错误发生在这一行上?

是的,这是为了模板制作。你的第二个解决方案看起来不错。
$property = "my name is: {$this->name}";