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