core\lib\conf.php中的$conf和self::$conf有什么區別?
打印出來發現$conf為:Array
(
? ?[CTRL] => index
? ?[action] => index
)
self::$conf為:
Array
(
? ?[F:\Apache\htdocs\imooc\core\config\route.php] => Array
? ? ? ?(
? ? ? ? ? ?[CTRL] => index
? ? ? ? ? ?[action] => index
? ? ? ?)
)
產生區別的原因是什么?
2017-07-08
$conf 是類方法里面定義的局部變量,self::$conf中的$conf是類中定義的靜態屬性,兩者不可混淆。前者的作用域只在定義的方法里;后者是屬于類的,可在對象之間共享,在類的內部訪問靜態元素要使用self關鍵字加兩個冒號,在類外直接使用類名加兩個冒號訪問靜態元素。
2017-01-28
這個例子中的$conf 和 self::$conf,不是一個東西。只不過只看名字差不多。你把其中任意一個換下名字,就可以更直觀的理解。
看一下代碼
1)$conf = include $file; //這個$conf 存的是include返回的值。
2)self::$conf[$file] = $conf;//這個self::$conf 存的是是在類里的變量?!舅陬惱锒x的:static public $conf = array();
】
如果換個區別很大的名字:
1)$abc= include $file;
2)self::$xyz[$file]=$abc; ?【要在類里定義static public $xyz = array();】
這樣就不容易誤會兩個家伙有關系了=。=
2016-10-04
self是在類里面調用