我正在检查其他人编写的一些 PHP 代码,他们基本上命名了一个变量$text
:
protected $text = null;
然后在同一个文件中,他们指的是不带$
符号的:
$this->text[$name] = new Text($age, $house);
- 我有点好奇。这甚至可能吗?
$
是否可以仅使用标识符的一部分来引用与某个单词连接命名的变量$
? - 如果是,它是否暗示了一些特殊的东西,还是对变量的简单引用?
PS:我不认为代码有问题,因为它可以工作=s
我正在检查其他人编写的一些 PHP 代码,他们基本上命名了一个变量$text
:
protected $text = null;
然后在同一个文件中,他们指的是不带$
符号的:
$this->text[$name] = new Text($age, $house);
$
是否可以仅使用标识符的一部分来引用与某个单词连接命名的变量$
?PS:我不认为代码有问题,因为它可以工作=s
这就是您在面向对象代码中访问变量(通常称为属性)的方式。
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
这段代码没有错误,因为它是用面向对象的 PHP 编写的。当您在 php 对象中声明一个属性时,在这种情况下$text
,您可以稍后在同一个类中将该属性称为$this->text
.