为什么 PHP 中 this 和 self 访问变量的写法不一样?
生活随笔
收集整理的這篇文章主要介紹了
为什么 PHP 中 this 和 self 访问变量的写法不一样?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
self是關鍵字,而$this是一個變量,表示當前對象,也就是你能直接把$this返回實現鏈式調用.
$this->foo也是一個變量,表示當前對象里名為foo的成員.
而self::$foo表示類里面名為foo的變量.
self其實就相當于類名,parent相當于父類名,都是在類里面使用的關鍵字.
<?php class foo {const a = '類的常量'; // PHP 5.3public 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 => '對象的變量', )?
轉載于:https://my.oschina.net/feanlau/blog/1518922
總結
以上是生活随笔為你收集整理的为什么 PHP 中 this 和 self 访问变量的写法不一样?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android RecyclerView
- 下一篇: 巅峰对话:畅想大数据时代的车联网与智能汽