为什么 PHP 中 this 和 self 访问变量的写法不一样?
2017-08-22 00:00
316 查看
self是关键字,而$this是一个变量,表示当前对象,也就是你能直接把$this返回实现链式调用.
$this->foo也是一个变量,表示当前对象里名为foo的成员.
而self::$foo表示类里面名为foo的变量.
self其实就相当于类名,parent相当于父类名,都是在类里面使用的关键字.
输出的内容如下:
$this->foo也是一个变量,表示当前对象里名为foo的成员.
而self::$foo表示类里面名为foo的变量.
self其实就相当于类名,parent相当于父类名,都是在类里面使用的关键字.
<?php class foo { const a = '类的常量'; // PHP 5.3 public static $b = '类的静态变量'; public $c = '对象的变量'; // 类的普通方法既能访问静态变量,也能访问普通变量. // 而类的静态方法不能访问类的非静态变量和非静态方法. public function bar() { return array( self::a, self::$b, $this->c ); } } $foo = new foo(); echo foo::a . "\n"; // 类的常量 echo foo::$b . "\n"; // 类的静态变量 echo $foo->c . "\n"; // 对象的变量 var_export($foo->bar()); // 输出:
输出的内容如下:
array ( 0 => '类的常量', 1 => '类的静态变量', 2 => '对象的变量', )
相关文章推荐
- PHP编程过程中需要了解的this,self,parent的区别
- php--this,self,parant的区别
- PHP中this,self,parent的区别
- PHP中::、->、self、$this操作符的区别
- 为什么要使用“var me=this”这样的写法
- 为什么匿名内部类只能访问其所在方法中的final变量
- PHP之this和self
- PHP中::、->、self、$this操作符的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP - 如何在函数内访问另一个文件中的变量
- ubuntu14.04 安装LAMP中访问info.php提示The requested URL /index.php was not found on this server.
- php中$this、static、final、const、self 等几个关键字的用法
- java中内部类访问局部变量的时候,为什么变量必须加上final修饰
- 为什么在方法中定义的内部类只能访问方法中的final类型的局部变量?
- 为什么匿名内部类和局部内部类只能访问final变量
- 记:使用Wampserver运行php程序时在该局域网的手机访问提示You don't have permission to access / on this server.
- php self,$this,const,static,->的使用
- PHP中是如何区分 this、self、parent