OOP PHP 中的变量 $a 和变量 $this->a 有什么不同?
class A{
public function example(){
$this->a = "Hello A";
$a = "Hello A";
}
}
OOP PHP 中的变量 $a 和变量 $this->a 有什么不同?
class A{
public function example(){
$this->a = "Hello A";
$a = "Hello A";
}
}
$this->a
表示一个类变量,可以从类范围内的任何地方访问,而$a
只能在函数本身内使用。
$this
是一个伪变量。当从对象上下文中调用方法时,此伪变量可用。$this
是对调用对象的引用(通常是方法所属的对象,但也可能是另一个对象,如果该方法是从辅助对象的上下文中静态调用的)。
请参阅PHP 手册。
一个小例子来说明埃文的答案
$myA = new A();
$myA->example();
$myA->test();
class A{
private $a;
public function __construct() {
$this->a = 'Hello A';
public function example(){
$a = 'Hello A again';
echo $this->a;//print 'Hello A'
echo $a;//print 'Hello A again'
}
public function test() {
echo $this->a;//print 'Hello A'
echo $a;//E_NOTICE : type 8 -- Undefined variable: a
}
}