0

我正在检查其他人编写的一些 PHP 代码,他们基本上命名了一个变量$text

protected $text = null;

然后在同一个文件中,他们指的是不带$符号的:

$this->text[$name] = new Text($age, $house);
  1. 我有点好奇。这甚至可能吗?$是否可以仅使用标识符的一部分来引用与某个单词连接命名的变量$
  2. 如果是,它是否暗示了一些特殊的东西,还是对变量的简单引用?

PS:我不认为代码有问题,因为它可以工作=s

4

2 回答 2

1

这就是您在面向对象代码中访问变量(通常称为属性)的方式。

class MyClass {
    public $name = 'Billy Bob';
    public function printName() {
        echo $this->name;
    }
}

在这个例子$this->name中指的是$name变量,属于“this”类的实例(一个类的实例被称为一个对象)。

class MyClass { /* ... */ } // This is a class definition
$obj = new MyClass();       // This is an instance of the class, an object
于 2015-04-18T15:50:02.143 回答
1

这段代码没有错误,因为它是用面向对象的 PHP 编写的。当您在 php 对象中声明一个属性时,在这种情况下$text,您可以稍后在同一个类中将该属性称为$this->text.

于 2015-04-18T15:31:11.907 回答