名为 `$something` 的变量是否可以被 `someting` 引用,即没有美元符号?

Can a variable named as `$something` be referred to by `someting`, that is without the dollar sign?

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

protected $text = null;

然后在同一个文件中,他们在没有 $ 符号的情况下引用它:

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

PS:我不认为代码有问题,因为它有效 =s

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

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

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

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

class MyClass { /* ... */ } // This is a class definition
$obj = new MyClass();       // This is an instance of the class, an object