亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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
? ? ? ?)

)

產生區別的原因是什么?

正在回答

3 回答

$conf 是類方法里面定義的局部變量,self::$conf中的$conf是類中定義的靜態屬性,兩者不可混淆。前者的作用域只在定義的方法里;后者是屬于類的,可在對象之間共享,在類的內部訪問靜態元素要使用self關鍵字加兩個冒號,在類外直接使用類名加兩個冒號訪問靜態元素。

0 回復 有任何疑惑可以回復我~

這個例子中的$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();】

這樣就不容易誤會兩個家伙有關系了=。=


0 回復 有任何疑惑可以回復我~

self是在類里面調用

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

core\lib\conf.php中的$conf和self::$conf有什么區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號