猿问

spl_autoload_register('\\Imooc\\Loader::Autoload')为什么是 \\

视频地址:

http://www.imooc.com/video/4848

spl_autoload_register('\\Imooc\\Loader::Autoload'),这里的Imooc前面的为什么还有\\,命名空间不是Imooc吗,为什么还要加\\?

spl_autoload_register(string mathod)

里面是''单引号,这里没有什么转义的意思吧? 如果是双引号"",应该这样写的spl_autoload_register("\\Imooc\\Loader::Autoload")。

但,老师写的是 单引号,spl_autoload_register('\\Imooc\\Loader::Autoload')

所以,不明白,纠结了一天了,求大神。。。。

下面是个人的理解:


spl_autoload_register('IMooc\Loader::autoload'); 可以运行,是限定命名空间

但,上面说的什么转义,因为在单引号里面,这个根本用不着转义
spl_autoload_register('IMooc\Loader::autoload'); //用不着转义的 限定
spl_autoload_register('\IMooc\Loader::autoload');//用不着转义的完全限定
spl_autoload_register("IMooc\Loader::autoload");//转义的限定
spl_autoload_register("\\IMooc\\Loader::autoload");//转义的完全限定

iamaguest
浏览 1161回答 1
1回答

qq_青枣工作室_0

把\写在字符串里,要转义的。单引号的字符串,可以不转义写\,也可以转义写\\,在你的例子里是一样的。单引号,在以下情况必需对\转义:你如果要输出连续的两个\\,就必需使用转义:'\\\\'你如果要输出连续的\和',就必需使用转义:'\\\''双引号的字符串,有几个特殊的必需转义,如:"\n", "\r", "\t", "\v"等,不转义\的话,就输不出\了。如果你的命名空间是"IMooc\table\now",不转义,就出错了。为了安全,干脆直接就写\\就是了。
随时随地看视频慕课网APP
我要回答