搜尋

首頁  >  問答  >  主體

thinkphp - php拼接路徑時"\"與"\\"的差別?

今天看了一下thinkphp3.2的源碼,發現Thinkphp/Library/Think/Storage.class.php中的connect方法有點疑惑的,其中程式碼為:

/**
 * 连接分布式文件系统
 * @access public
 * @param string $type 文件类型
 * @param array $options  配置数组
 * @return void
 */
static public function connect($type='File',$options=array()) {
    $class  =   'Think\Storage\Driver\'.ucwords($type);
    self::$handler = new $class($options);
}

為什麼$class中的路徑需要"\\",而不是"\\"呢,最後的"\\"是為了轉換"'"單引號可以理解,前面的兩個"\\"就不太懂了,因為在記憶中好像直接用"\"也是可以的,而且在這裡,把"\\"改成"\"也沒有報錯,我想可能是為了某些更好或更安全的考慮,或是為了後面__autoload()中使用,可是具體為什麼要寫"\\",希望哪位兄弟知道的,告知一下,感謝!

迷茫迷茫2798 天前878

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-05-31 10:35:52

    簡單的說,使用\更為嚴謹,避免單獨使用時可能出現的問題。歸於實際生產裡,只要不存在轉義問題,具體寫哪個都是一樣的,但前提是你對你的程式碼很有把握。如果沒有把握,寫\不失為一種更可靠的方案。

    回覆
    0
  • 取消回覆