繁体   English   中英

symfony2 registerNamespaces中'\'和'\\'有什么区别?

[英]What is the difference between '\' and '\\' in symfony2 registerNamespaces?

这两个代码段之间有什么区别。 第一个用\\和第二个用\\\\

第一:

<?php
// File: app/autoload.php
$loader->registerNamespaces(array(
    'Knp\\Component'      => __DIR__.'/../vendor/knp-components/src',
    'Knp\\Bundle'         => __DIR__.'/../vendor/bundles',
    // ...
));

第二个:

<?php
// File: app/autoload.php
$loader->registerNamespaces(array(
    'Knp\Component'      => __DIR__.'/../vendor/knp-components/src',
    'Knp\Bundle'         => __DIR__.'/../vendor/bundles',
    // ...
));

它们是不同的还是它们的工作原理相同?

反斜杠在双引号字符串中有特殊含义:它用于转义各种字符 (例如\\n\\r )。

在单引号字符串中,反斜杠用于转义文字引号(例如echo 'I\\'m'; )和反斜杠本身。

最好在命名空间字符串中使用双反斜杠,以防止由于字符转义而导致的任何可能的错误。 除此之外,它们是一样的:

// outputs: Foo\Bar\Baz
echo 'Foo\Bar\Baz';

// outputs: Foo\Bar\Baz
echo 'Foo\\Bar\\Baz';

// The autoloader would not be able to find the correct file
// outputs: Foo
//          ot    hat
echo "Foo\not\that";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM