最近研究laravel架構,
require __DIR__.'/../bootstrap/autoload.php';
這句代碼是什麼意思?
調用的是:
D:\Web\Laravel\public/../bootstrap/autoload.php 這個路徑格式有問題;
而真實調用的確是:
D:\Web\Laravel\bootstrap\autoload.php
路徑中的/../ 是什麼意思? 能詳細講下嗎,我看了幾遍PHP手冊了,沒發現這種文法啊;
回複討論(解決方案)
表示__DIR__目錄下的上層目錄下的bootstrap目錄下的autoload.php
我也是剛開始深入學習PHP,也是拿的laravel架構來研究,_DIR_是php5.3以後的一個魔術常量,用於指向當前執行的PHP指令碼所在的目錄,".號"是一個串連符用於連接字串及變數,../表示目前的目錄的上一層目錄,以前用過DOS系統的應該都知道,現在用命令列工具時也依然會用到。
require __DIR__.'/../bootstrap/autoload.php';
折分下:
__DIR__魔術常量代表當前運行檔案所在的目錄,你自己echo __DIR__ ; 看一下,它輸出的目錄路徑不是以 / 結束的;
../代表當前位置的上一級目錄;
表示__DIR__目錄下的上層目錄下的bootstrap目錄下的autoload.php
主要疑問是: __DIR__.'/../bootstrap 這裡的 /../沒有在開頭位置,串接成的路徑不對啊;
require __DIR__.'/../bootstrap/autoload.php';
折分下:
__DIR__魔術常量代表當前運行檔案所在的目錄,你自己echo __DIR__ ; 看一下,它輸出的目錄路徑不是以 / 結束的;
../代表當前位置的上一級目錄;
主要疑問是:
串接成的結果是 D:\Web\Laravel\public /../bootstrap/autoload.php 這個路徑是合法的?
表示目前的目錄的父母目錄下的bootstrap/autoload.php檔案。