我正在检查其他人编写的一些 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.