Ich habe mir heute den Quellcode von thinkphp3.2 angesehen und festgestellt, dass die Verbindungsmethode in Thinkphp/Library/Think/Storage.class.php etwas verwirrend ist. Der Code lautet:
/**
* 连接分布式文件系统
* @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);
}
Warum benötigt der Pfad in $class „\“ anstelle von „\“? Das letzte „\“ dient zur Umwandlung von „‘“ in einfache Anführungszeichen, was verständlich ist, aber die ersten beiden „\“ sind nicht klar, da in From Speicher, es scheint möglich zu sein, „“ direkt zu verwenden, und hier wird kein Fehler gemeldet, wenn „\“ in „“ geändert wird. Ich denke, dies kann aus besseren oder sichereren Gründen oder für die spätere Verwendung von __autoload() erfolgen in , aber warum müssen wir speziell „\“ schreiben? Ich hoffe, jeder Bruder weiß es und lässt es mich wissen.
简单的说,使用
\\
更为严谨,避免单独使用\
时可能出现的问题。归于实际生产里,只要不存在转义问题,具体写哪个都是一样的,但前提是你对你的代码很有把握。如果没有把握,写\\
不失为一种更可靠的方案。