spl_autoload_register('\\Imooc\\Loader::Autoload')為什么是 \\
spl_autoload_register('\\Imooc\\Loader::Autoload'),這里的Imooc前面的為什么還有\(zhòng)\,命名空間不是Imooc嗎,為什么還要加\\?
spl_autoload_register(string mathod)
里面是''單引號(hào),這里沒有什么轉(zhuǎn)義的意思吧? 如果是雙引號(hào)"",應(yīng)該這樣寫的spl_autoload_register("\\Imooc\\Loader::Autoload")。
但,老師寫的是 單引號(hào),spl_autoload_register('\\Imooc\\Loader::Autoload')
所以,不明白,糾結(jié)了一天了,求大神。。。。
2018-12-25
就是轉(zhuǎn)義,不用想太多,一般用到反斜杠都要轉(zhuǎn)義的
2017-10-02
命名空間+\是為了全局引用,\\是是為 了轉(zhuǎn)義\,如果沒有第一個(gè)\,那么第二個(gè)\很有可能把命名空間的字母轉(zhuǎn)義了,比如\test,\next這些中的t/n轉(zhuǎn)義了\t,\n
2017-06-01
spl_autoload_register('\Imooc\Loader::autoload');
這樣寫也是可以的,為什么加兩個(gè)\\ 估計(jì)是資深程序員潛意識(shí)的防止轉(zhuǎn)義做的操作吧
2017-06-01
因?yàn)閘oader.php采用了命名空間,想要調(diào)用autoload這個(gè)方法必須要使用?? \命名空間\類名::靜態(tài)方法名的方法.
spl_autoload_register自動(dòng)載入方法 需要傳入載入文件的方法名才能調(diào)用.
2016-12-25
請(qǐng)問下我也糾結(jié)于這個(gè)問題,希望能得到大神解釋
2016-11-19
首先,感謝你的回答!
但是,我覺得這個(gè)答案很不靠譜。
spl_autoload_register('IMooc\Loader::autoload'); 可以運(yùn)行,是限定命名空間
但,上面說的什么轉(zhuǎn)義,因?yàn)樵趩我?hào)里面,這個(gè)根本用不著轉(zhuǎn)義
spl_autoload_register('IMooc\Loader::autoload'); //用不著轉(zhuǎn)義的 限定
spl_autoload_register('\IMooc\Loader::autoload');//用不著轉(zhuǎn)義的完全限定
spl_autoload_register("IMooc\Loader::autoload");//轉(zhuǎn)義的限定
spl_autoload_register("\\IMooc\\Loader::autoload");//轉(zhuǎn)義的完全限定
不知道我這樣理解是否正確
感謝你的回復(fù)!
謝謝!
2016-11-19
Miracle這個(gè)說法比較靠譜,因?yàn)樵赑HP的引號(hào)中“\”這個(gè)是轉(zhuǎn)義字符,但是這里使用的時(shí)候有點(diǎn)表示命名空間使用的意思,所以需要轉(zhuǎn)義符號(hào)轉(zhuǎn)義‘\’,就形成了“\\”這種形式。
當(dāng)然,你不轉(zhuǎn)義也能正常使用,比如這里我們改成
? spl_autoload_register('IMooc\Loader::autoload');
一樣正常使用,但是相對(duì)來說就不那么規(guī)范了,畢竟我們這節(jié)學(xué)習(xí)的目的的是PSR-0規(guī)范,所以向標(biāo)準(zhǔn)靠齊吧。
個(gè)人見解,不對(duì)之處請(qǐng)指正。