2016-11-07 53 views
0

這兩個PHP在PHP中有什麼區別?PHP要求,點號爲前綴

require "./vendor/autoload.php"; 

VS

require "vendor/autoload.php"; 

對於這兩種報表autoload.php腳本被發現,但在某些環境中自動加載機本身沒有找到類。我沒有試圖自己解決自動加載器問題,但試圖理解爲什麼這兩個使它表現不同。

+3

可能的重複[點斜槓對PHP做什麼包括調用?](http://stackoverflow.com/questions/579374/what-does-the-dot-slash-do-to-php-include -calls) – j08691

+0

第二個從當前目錄開始搜索文件,作爲第二個。但第二個方法是首選,因爲它來自linux/unix系統。圓點嚴格地告訴系統在當前目錄中進行搜索。這就是爲什麼經常linux軟件以'cd foo/&&。/ configure'開始安裝/配置指令的原因 – samayo

回答

1

.可以讓你設置包含文件的路徑相對於原始文件的路徑(包含它們的文件)。

讓我們的結構如下:

/index.php 
/file2.php 
/folder/ 
     /file1.php 

如果index.php包括file1.php,並且要file1.php包括file2.php - 你可以做到這一點使用require './file2.php';(內file1.php,這是內部文件夾)。

如果使用require 'file2.php';file1.php您正在尋找file2.phpfolder(這將給你一個錯誤,因爲該文件不存在)。

3

.指的是您所在的文件夾,它最常用於爲PHP文件提供文件的unix語法。我認爲你應該使用__DIR__作爲包含文件的前綴,所以你可以避免一些相對路徑的問題